mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-23 20:29:30 +00:00
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
38 lines
914 B
YAML
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
|
|
...
|