Files
clang-p2996/llvm/test/CodeGen/MIR/Generic/llvmIR.mir
Justin Bogner 20dd36a48a MIR: Allow parsing of empty machine functions
If you run llc -stop-after=codegenprepare and feed the resulting MIR
to llc -start-after=codegenprepare, you'll have an empty machine
function since we haven't run any isel yet. Of course, this only works
if the MIRParser believes you that this is okay.

This is essentially a revert of r241862 with a fix for the problem it
was papering over.

llvm-svn: 299975
2017-04-11 19:32:41 +00:00

36 lines
850 B
YAML

# RUN: llc -run-pass none -o - %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
...