MIR Parser: Report an error when a fixed stack object is redefined.
[oota-llvm.git] / test / CodeGen / MIR / X86 / undefined-ir-block-slot-in-blockaddress.mir
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, %0), i8** @addr
10     %val = load volatile i8*, i8** @addr
11     indirectbr i8* %val, [label %0]
12
13     ret void
14   }
15
16 ...
17 ---
18 name:            test
19 body:
20   - id:              0
21     name:            entry
22     successors:      [ '%bb.1' ]
23     instructions:
24       # CHECK: [[@LINE+1]]:56: use of undefined IR block '%ir-block.1'
25       - '%rax = LEA64r %rip, 1, _, blockaddress(@test, %ir-block.1), _'
26       - 'MOV64mr %rip, 1, _, @addr, _, killed %rax'
27       - 'JMP64m %rip, 1, _, @addr, _'
28   - id:              1
29     addressTaken:    true
30     instructions:
31       - RETQ
32 ...