diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-12-30 11:46:15 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-12-30 11:46:15 +0000 |
| commit | dd58ef019b700900793a1eb48b52123db01b654e (patch) | |
| tree | fcfbb4df56a744f4ddc6122c50521dd3f1c5e196 /test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir | |
| parent | 2fe5752e3a7c345cdb59e869278d36af33c13fa4 (diff) | |
Notes
Diffstat (limited to 'test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir')
| -rw-r--r-- | test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir b/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir new file mode 100644 index 000000000000..de6a745fd702 --- /dev/null +++ b/test/CodeGen/MIR/X86/expected-function-reference-after-blockaddress.mir @@ -0,0 +1,30 @@ +# RUN: not llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -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 +... |
