58 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: verify-uselistorder %s
 | |
| ; XFAIL: *
 | |
| 
 | |
| ; Test 1
 | |
| @g1 = global i8 0
 | |
| 
 | |
| declare void @llvm.donothing() nounwind readnone
 | |
| 
 | |
| define void @f.no_personality1() personality i8 0 {
 | |
|   invoke void @llvm.donothing() to label %normal unwind label %exception
 | |
| exception:
 | |
|   %cleanup = landingpad i8 cleanup
 | |
|   br label %normal
 | |
| normal:
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| ; Test 2
 | |
| @g2 = global i8 -1
 | |
| @g3 = global i8 -1
 | |
| 
 | |
| define void @f.no_personality2() personality i8 -1 {
 | |
|   invoke void @llvm.donothing() to label %normal unwind label %exception
 | |
| exception:
 | |
|   %cleanup = landingpad i8 cleanup
 | |
|   br label %normal
 | |
| normal:
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| ; Test 3
 | |
| declare void @f1() prefix i32 1
 | |
| 
 | |
| define void @test1() {
 | |
|   %t1 = alloca half  ; Implicit i32 1 used here.
 | |
|   %t2 = alloca float
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| ; Test 4
 | |
| declare void @f2() prefix i32 2
 | |
| 
 | |
| define void @test2(i32* %word) {
 | |
|   %cmpxchg.0 = cmpxchg i32* %word, i32 0, i32 2 monotonic monotonic
 | |
|   %cmpxchg.1 = cmpxchg i32* %word, i32 0, i32 2 acq_rel monotonic
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| ; Test 5
 | |
| @g4 = global i32 3
 | |
| @g5 = global i32 3
 | |
| declare void @test3() prefix i32 3
 | |
| 
 | |
| ; Test 6
 | |
| @g6 = global i32 4
 | |
| @g7 = global i32 4
 | |
| declare void @c() prologue i32 4
 |