• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# RUN: not llc -march=x86-64 -start-after branch-folder -stop-after branch-folder -o /dev/null %s 2>&1 | FileCheck %s
2
3--- |
4
5  @addr = global i8* null
6
7  define void @test() {
8  entry:
9    store volatile i8* blockaddress(@test, %block), i8** @addr
10    %val = load volatile i8*, i8** @addr
11    indirectbr i8* %val, [label %block]
12
13  block:
14    ret void
15  }
16
17...
18---
19name:            test
20body: |
21  bb.0.entry:
22    successors: %bb.1.block
23    ; CHECK: [[@LINE+1]]:44: expected an IR function reference
24    %rax = LEA64r %rip, 1, _, blockaddress(@addr, %ir-block.block), _
25    MOV64mr %rip, 1, _, @addr, _, killed %rax
26    JMP64m %rip, 1, _, @addr, _
27
28  bb.1.block (address-taken):
29    RETQ
30...
31