# RUN: llc -mtriple=i386-- -run-pass scavenger-test -verify-machineinstrs -o - %s | FileCheck %s --- # CHECK-LABEL: name: func0 name: func0 tracksRegLiveness: true body: | bb.0: ; CHECK: [[REG0:\$e[a-z]+]] = MOV32ri 42 ; CHECK: $ebp = COPY killed [[REG0]] %0 : gr32 = MOV32ri 42 $ebp = COPY %0 ... --- # CHECK-LABEL: name: func2 name: func2 tracksRegLiveness: true body: | bb.0: ; CHECK-NOT: $eax = MOV32ri 42 ; CHECK: [[REG0:\$e[a-z]+]] = MOV32ri 42 ; CHECK: $ebp = COPY killed [[REG0]] $eax = MOV32ri 13 %0 : gr32 = MOV32ri 42 $ebp = COPY %0 ; CHECK: [[REG1:\$e[a-z]+]] = MOV32ri 23 ; CHECK: [[REG2:\$e[a-z]+]] = MOV32ri 7 ; CHECK: [[REG1]] = ADD32ri8 [[REG1]], 5, implicit-def dead $eflags %1 : gr32 = MOV32ri 23 %2 : gr32 = MOV32ri 7 %1 = ADD32ri8 %1, 5, implicit-def dead $eflags NOOP implicit $ebp ; CHECK: NOOP implicit killed [[REG2]] ; CHECK: NOOP implicit killed [[REG1]] NOOP implicit %2 NOOP implicit %1 RET64 $eax ... --- # CHECK-LABEL: name: func3 name: func3 tracksRegLiveness: true body: | bb.0: ; CHECK: dead {{\$e[a-z]+}} = MOV32ri 42 dead %0 : gr32 = MOV32ri 42 ...