[ARM] Cortex-M4 schedule additions
[llvm-complete.git] / test / CodeGen / MIR / X86 / basic-block-liveins.mir
blob7212dceb744feb70c358ee7f966dab377d469b4d
1 # RUN: llc -march=x86-64 -run-pass none -o - %s | FileCheck %s
2 # This test ensures that the MIR parser parses basic block liveins correctly.
4 --- |
6   define i32 @test(i32 %a, i32 %b) {
7   body:
8     %c = add i32 %a, %b
9     ret i32 %c
10   }
12   define i32 @test2(i32 %a, i32 %b) {
13   body:
14     %c = add i32 %a, %b
15     ret i32 %c
16   }
18   define i32 @test3() {
19   body:
20     ret i32 0
21   }
23 ...
24 ---
25 name: test
26 tracksRegLiveness: true
27 body: |
28   ; CHECK-LABEL: bb.0.body:
29   ; CHECK-NEXT:    liveins: $edi, $esi
30   bb.0.body:
31     liveins: $edi, $esi
33     $eax = LEA64_32r killed $rdi, 1, killed $rsi, 0, _
34     RETQ $eax
35 ...
36 ---
37 name: test2
38 tracksRegLiveness: true
39 body: |
40   ; CHECK-LABEL: name: test2
41   ; Verify that we can have multiple lists of liveins that will be merged into
42   ; one.
43   ; CHECK:       bb.0.body:
44   ; CHECK-NEXT:    liveins: $edi, $esi
45   bb.0.body:
46     liveins: $edi
47     liveins: $esi
49     $eax = LEA64_32r killed $rdi, 1, killed $rsi, 0, _
50     RETQ $eax
51 ...
52 ---
53 name: test3
54 tracksRegLiveness: true
55 body: |
56   ; Verify that we can have an empty list of liveins.
57   ; CHECK-LABEL: name: test3
58   ; CHECK:       bb.0.body:
59   ; CHECK-NEXT:    $eax = MOV32r0 implicit-def dead $eflags
60   bb.0.body:
61     liveins:
63     $eax = MOV32r0 implicit-def dead $eflags
64     RETQ killed $eax
65 ...