You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # RUN: not llc -march=x86-64 -run-pass none -o /dev/null %s 2>&1 | FileCheck %s
 | |
| 
 | |
| --- |
 | |
| 
 | |
|   define i32 @test_jumptable(i32 %in) {
 | |
|   entry:
 | |
|     switch i32 %in, label %def [
 | |
|       i32 0, label %lbl1
 | |
|       i32 1, label %lbl2
 | |
|       i32 2, label %lbl3
 | |
|       i32 3, label %lbl4
 | |
|     ]
 | |
| 
 | |
|   def:
 | |
|     ret i32 0
 | |
| 
 | |
|   lbl1:
 | |
|     ret i32 1
 | |
| 
 | |
|   lbl2:
 | |
|     ret i32 2
 | |
| 
 | |
|   lbl3:
 | |
|     ret i32 4
 | |
| 
 | |
|   lbl4:
 | |
|     ret i32 8
 | |
|   }
 | |
| 
 | |
| ...
 | |
| ---
 | |
| name:            test_jumptable
 | |
| jumpTable:
 | |
|   kind:          label-difference32
 | |
|   entries:
 | |
|     - id:        0
 | |
|       blocks:    [ '%bb.3.lbl1', '%bb.4.lbl2', '%bb.5.lbl3', '%bb.6.lbl4' ]
 | |
| body: |
 | |
|   bb.0.entry:
 | |
|     successors: %bb.2.def, %bb.1.entry
 | |
| 
 | |
|     %eax = MOV32rr %edi, implicit-def %rax
 | |
|     CMP32ri8 %edi, 3, implicit-def %eflags
 | |
|     JA_1 %bb.2.def, implicit %eflags
 | |
| 
 | |
|   bb.1.entry:
 | |
|     successors: %bb.3.lbl1, %bb.4.lbl2, %bb.5.lbl3, %bb.6.lbl4
 | |
|     ; CHECK: [[@LINE+1]]:31: use of undefined jump table '%jump-table.2'
 | |
|     %rcx = LEA64r %rip, 1, _, %jump-table.2, _
 | |
|     %rax = MOVSX64rm32 %rcx, 4, %rax, 0, _
 | |
|     %rax = ADD64rr %rax, %rcx, implicit-def %eflags
 | |
|     JMP64r %rax
 | |
| 
 | |
|   bb.2.def:
 | |
|     %eax = MOV32r0 implicit-def %eflags
 | |
|     RETQ %eax
 | |
| 
 | |
|   bb.3.lbl1:
 | |
|     %eax = MOV32ri 1
 | |
|     RETQ %eax
 | |
| 
 | |
|   bb.4.lbl2:
 | |
|     %eax = MOV32ri 2
 | |
|     RETQ %eax
 | |
| 
 | |
|   bb.5.lbl3:
 | |
|     %eax = MOV32ri 4
 | |
|     RETQ %eax
 | |
| 
 | |
|   bb.6.lbl4:
 | |
|     %eax = MOV32ri 8
 | |
|     RETQ %eax
 | |
| ...
 |