llvm-6502/test/CodeGen/MIR/llvmIR.mir
Alex Lorenz ccba68af82 MIR Parser: Report an error when parsing machine function with an empty body.
This commit adds a new error which is reported when the MIR Parser encounters
a machine function without any machine basic blocks. The machine verifier
expects that the machine functions have at least one MBB, and this error will
prevent machine functions without MBBs from reaching the machine verifier and
crashing with an assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241862 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-09 21:21:33 +00:00

38 lines
914 B
YAML

# RUN: llc -start-after branch-folder -stop-after branch-folder -o /dev/null %s | FileCheck %s
# This test ensures that the LLVM IR that's embedded with MIR is parsed
# correctly.
--- |
; CHECK: define i32 @foo(i32 %x, i32 %y)
; CHECK: %z = alloca i32, align 4
; CHECK: store i32 %x, i32* %z, align 4
; CHECK: br label %Test
; CHECK: Test:
; CHECK: %m = load i32, i32* %z, align 4
; CHECK: %cond = icmp eq i32 %y, %m
; CHECK: br i1 %cond, label %IfEqual, label %IfUnequal
; CHECK: IfEqual:
; CHECK: ret i32 1
; CHECK: IfUnequal:
; CHECK: ret i32 0
define i32 @foo(i32 %x, i32 %y) {
%z = alloca i32, align 4
store i32 %x, i32* %z, align 4
br label %Test
Test:
%m = load i32, i32* %z, align 4
%cond = icmp eq i32 %y, %m
br i1 %cond, label %IfEqual, label %IfUnequal
IfEqual:
ret i32 1
IfUnequal:
ret i32 0
}
...
---
name: foo
body:
- id: 0
...