llvm/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir
Matthias Braun 3346c15107 llc: Add support for -run-pass none
This does not schedule any passes besides the ones necessary to
construct and print the machine function. This is useful to test .mir
file reading and printing.

Differential Revision: http://reviews.llvm.org/D22432

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275664 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-16 02:24:59 +00:00

31 lines
655 B
YAML

# RUN: not llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
--- |
@addr = global i8* null
define void @test() {
entry:
store volatile i8* blockaddress(@test, %block), i8** @addr
%val = load volatile i8*, i8** @addr
indirectbr i8* %val, [label %block]
block:
ret void
}
...
---
name: test
body: |
bb.0.entry:
successors: %bb.1.block
; CHECK: [[@LINE+1]]:44: expected an IR function reference
%rax = LEA64r %rip, 1, _, blockaddress(@addr, %ir-block.block), _
MOV64mr %rip, 1, _, @addr, _, killed %rax
JMP64m %rip, 1, _, @addr, _
bb.1.block (address-taken):
RETQ
...