1 # RUN: llc -mtriple=i386-- -run-pass scavenger-test -verify-machineinstrs -o - %s | FileCheck %s 2 --- 3 # CHECK-LABEL: name: func0 4 name: func0 5 tracksRegLiveness: true 6 body: | 7 bb.0: 8 ; CHECK: [[REG0:\$e[a-z]+]] = MOV32ri 42 9 ; CHECK: $ebp = COPY killed [[REG0]] 10 %0 : gr32 = MOV32ri 42 11 $ebp = COPY %0 12 ... 13 --- 14 # CHECK-LABEL: name: func2 15 name: func2 16 tracksRegLiveness: true 17 body: | 18 bb.0: 19 ; CHECK-NOT: $eax = MOV32ri 42 20 ; CHECK: [[REG0:\$e[a-z]+]] = MOV32ri 42 21 ; CHECK: $ebp = COPY killed [[REG0]] 22 $eax = MOV32ri 13 23 %0 : gr32 = MOV32ri 42 24 $ebp = COPY %0 25 26 ; CHECK: [[REG1:\$e[a-z]+]] = MOV32ri 23 27 ; CHECK: [[REG2:\$e[a-z]+]] = MOV32ri 7 28 ; CHECK: [[REG1]] = ADD32ri8 [[REG1]], 5, implicit-def dead $eflags 29 %1 : gr32 = MOV32ri 23 30 %2 : gr32 = MOV32ri 7 31 %1 = ADD32ri8 %1, 5, implicit-def dead $eflags 32 33 NOOP implicit $ebp 34 35 ; CHECK: NOOP implicit killed [[REG2]] 36 ; CHECK: NOOP implicit killed [[REG1]] 37 NOOP implicit %2 38 NOOP implicit %1 39 RETQ $eax 40 ... 41 --- 42 # CHECK-LABEL: name: func3 43 name: func3 44 tracksRegLiveness: true 45 body: | 46 bb.0: 47 ; CHECK dead {{\$e[a-z]+}} = MOV32ri 42 48 dead %0 : gr32 = MOV32ri 42 49 ... 50