diff options
Diffstat (limited to 'test/CodeGen/MIR/X86/basic-block-liveins.mir')
| -rw-r--r-- | test/CodeGen/MIR/X86/basic-block-liveins.mir | 57 |
1 files changed, 47 insertions, 10 deletions
diff --git a/test/CodeGen/MIR/X86/basic-block-liveins.mir b/test/CodeGen/MIR/X86/basic-block-liveins.mir index d749a05244223..00732975495d5 100644 --- a/test/CodeGen/MIR/X86/basic-block-liveins.mir +++ b/test/CodeGen/MIR/X86/basic-block-liveins.mir @@ -9,17 +9,54 @@ ret i32 %c } + define i32 @test2(i32 %a, i32 %b) { + body: + %c = add i32 %a, %b + ret i32 %c + } + + define i32 @test3() { + body: + ret i32 0 + } + ... --- name: test -body: - # CHECK: name: body - # CHECK: liveins: [ '%edi', '%esi' ] - # CHECK-NEXT: instructions: - - id: 0 - name: body - liveins: [ '%edi', '%esi' ] - instructions: - - '%eax = LEA64_32r killed %rdi, 1, killed %rsi, 0, _' - - 'RETQ %eax' +body: | + ; CHECK-LABEL: bb.0.body: + ; CHECK-NEXT: liveins: %edi, %esi + bb.0.body: + liveins: %edi, %esi + + %eax = LEA64_32r killed %rdi, 1, killed %rsi, 0, _ + RETQ %eax +... +--- +name: test2 +body: | + ; CHECK-LABEL: name: test2 + ; Verify that we can have multiple lists of liveins that will be merged into + ; one. + ; CHECK: bb.0.body: + ; CHECK-NEXT: liveins: %edi, %esi + bb.0.body: + liveins: %edi + liveins: %esi + + %eax = LEA64_32r killed %rdi, 1, killed %rsi, 0, _ + RETQ %eax +... +--- +name: test3 +body: | + ; Verify that we can have an empty list of liveins. + ; CHECK-LABEL: name: test3 + ; CHECK: bb.0.body: + ; CHECK-NEXT: %eax = MOV32r0 implicit-def dead %eflags + bb.0.body: + liveins: + + %eax = MOV32r0 implicit-def dead %eflags + RETQ killed %eax ... |
