| # 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 a global value | |
| $rax = LEA64r $rip, 1, _, blockaddress(0, %ir-block.block), _ | |
| MOV64mr $rip, 1, _, @addr, _, killed $rax | |
| JMP64m $rip, 1, _, @addr, _ | |
| bb.1.block (address-taken): | |
| RETQ | |
| ... |