31 lines
		
	
	
		
			671 B
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			671 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]]:51: use of undefined IR block '%ir-block."block "'
 | |
|     $rax = LEA64r $rip, 1, _, blockaddress(@test, %ir-block."block "), _
 | |
|     MOV64mr $rip, 1, _, @addr, _, killed $rax
 | |
|     JMP64m $rip, 1, _, @addr, _
 | |
| 
 | |
|   bb.1.block (address-taken):
 | |
|     RETQ  
 | |
| ...
 |