mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
MIR Tests: Make the basic block successor test an X86 specific test.
This commit moves and transforms the generic test 'CodeGen/MIR/successor-basic-blocks.mir' into an X86 specific test 'CodeGen/MIR/X86/successor-basic-blocks.mir'. This change is required in order to enable the machine verifier for the MIR parser, as the machine verifier verifies that the machine basic blocks contain instructions that actually determine the machine basic block successors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243123 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a1692b30cb
commit
9b1988a840
80
test/CodeGen/MIR/X86/successor-basic-blocks.mir
Normal file
80
test/CodeGen/MIR/X86/successor-basic-blocks.mir
Normal file
@ -0,0 +1,80 @@
|
||||
# RUN: llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
|
||||
# This test ensures that the MIR parser parses basic block successors correctly.
|
||||
|
||||
--- |
|
||||
|
||||
define i32 @foo(i32 %a) {
|
||||
entry:
|
||||
%0 = icmp sle i32 %a, 10
|
||||
br i1 %0, label %less, label %exit
|
||||
|
||||
less:
|
||||
ret i32 0
|
||||
|
||||
exit:
|
||||
ret i32 %a
|
||||
}
|
||||
|
||||
define i32 @bar(i32 %a) {
|
||||
entry:
|
||||
%b = icmp sle i32 %a, 10
|
||||
br i1 %b, label %0, label %1
|
||||
|
||||
; <label>:0
|
||||
ret i32 0
|
||||
|
||||
; <label>:1
|
||||
ret i32 %a
|
||||
}
|
||||
|
||||
...
|
||||
---
|
||||
name: foo
|
||||
body:
|
||||
# CHECK: name: entry
|
||||
# CHECK: successors: [ '%bb.1.less', '%bb.2.exit' ]
|
||||
# CHECK: name: less
|
||||
- id: 0
|
||||
name: entry
|
||||
successors: [ '%bb.1.less', '%bb.2.exit' ]
|
||||
liveins: [ '%edi' ]
|
||||
instructions:
|
||||
- 'CMP32ri8 %edi, 10, implicit-def %eflags'
|
||||
- 'JG_1 %bb.2.exit, implicit killed %eflags'
|
||||
- id: 1
|
||||
name: less
|
||||
instructions:
|
||||
- '%eax = MOV32r0 implicit-def dead %eflags'
|
||||
- 'RETQ killed %eax'
|
||||
- id: 2
|
||||
name: exit
|
||||
liveins: [ '%edi' ]
|
||||
instructions:
|
||||
- '%eax = COPY killed %edi'
|
||||
- 'RETQ killed %eax'
|
||||
...
|
||||
---
|
||||
name: bar
|
||||
body:
|
||||
# CHECK: name: bar
|
||||
# CHECK: name: entry
|
||||
# CHECK: successors: [ '%bb.1', '%bb.2' ]
|
||||
# CHECK: id: 1
|
||||
# CHECK: id: 2
|
||||
- id: 0
|
||||
name: entry
|
||||
successors: [ '%bb.1', '%bb.2' ]
|
||||
liveins: [ '%edi' ]
|
||||
instructions:
|
||||
- 'CMP32ri8 %edi, 10, implicit-def %eflags'
|
||||
- 'JG_1 %bb.2, implicit killed %eflags'
|
||||
- id: 1
|
||||
instructions:
|
||||
- '%eax = MOV32r0 implicit-def dead %eflags'
|
||||
- 'RETQ killed %eax'
|
||||
- id: 2
|
||||
liveins: [ '%edi' ]
|
||||
instructions:
|
||||
- '%eax = COPY killed %edi'
|
||||
- 'RETQ killed %eax'
|
||||
...
|
@ -1,58 +0,0 @@
|
||||
# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
|
||||
# This test ensures that the MIR parser parses basic block successors correctly.
|
||||
|
||||
--- |
|
||||
|
||||
define i32 @foo(i32 %a) {
|
||||
entry:
|
||||
%0 = icmp sle i32 %a, 10
|
||||
br i1 %0, label %less, label %exit
|
||||
|
||||
less:
|
||||
ret i32 0
|
||||
|
||||
exit:
|
||||
ret i32 %a
|
||||
}
|
||||
|
||||
define i32 @bar(i32 %a) {
|
||||
entry:
|
||||
%b = icmp sle i32 %a, 10
|
||||
br i1 %b, label %0, label %1
|
||||
|
||||
; <label>:0
|
||||
ret i32 0
|
||||
|
||||
; <label>:1
|
||||
ret i32 %a
|
||||
}
|
||||
|
||||
...
|
||||
---
|
||||
name: foo
|
||||
body:
|
||||
# CHECK: name: entry
|
||||
# CHECK: successors: [ '%bb.1.less', '%bb.2.exit' ]
|
||||
# CHECK: name: less
|
||||
- id: 0
|
||||
name: entry
|
||||
successors: [ '%bb.1.less', '%bb.2.exit' ]
|
||||
- id: 1
|
||||
name: less
|
||||
- id: 2
|
||||
name: exit
|
||||
...
|
||||
---
|
||||
name: bar
|
||||
body:
|
||||
# CHECK: name: bar
|
||||
# CHECK: name: entry
|
||||
# CHECK: successors: [ '%bb.1', '%bb.2' ]
|
||||
# CHECK: id: 1
|
||||
# CHECK: id: 2
|
||||
- id: 0
|
||||
name: entry
|
||||
successors: [ '%bb.1', '%bb.2' ]
|
||||
- id: 1
|
||||
- id: 2
|
||||
...
|
Loading…
x
Reference in New Issue
Block a user