• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: llc -mtriple=i386-- -run-pass scavenger-test -verify-machineinstrs -o - %s | FileCheck %s
2---
3# CHECK-LABEL: name: func0
4name: func0
5tracksRegLiveness: true
6body: |
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
15name: func2
16tracksRegLiveness: true
17body: |
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
43name: func3
44tracksRegLiveness: true
45body: |
46  bb.0:
47    ; CHECK: dead {{\$e[a-z]+}} = MOV32ri 42
48    dead %0 : gr32 = MOV32ri 42
49...
50