forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			24 lines
		
	
	
		
			517 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			517 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: opt < %s -globalopt -instcombine | \
 | |
| ; RUN:    llvm-dis | grep {ret i1 true}
 | |
| 
 | |
| ;; check that global opt turns integers that only hold 0 or 1 into bools.
 | |
| 
 | |
| @G = internal global i32 0              ; <i32*> [#uses=3]
 | |
| 
 | |
| define void @set1() {
 | |
|         store i32 0, i32* @G
 | |
|         ret void
 | |
| }
 | |
| 
 | |
| define void @set2() {
 | |
|         store i32 1, i32* @G
 | |
|         ret void
 | |
| }
 | |
| 
 | |
| define i1 @get() {
 | |
|         %A = load i32* @G               ; <i32> [#uses=1]
 | |
|         %C = icmp slt i32 %A, 2         ; <i1> [#uses=1]
 | |
|         ret i1 %C
 | |
| }
 | |
| 
 |