forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			22 lines
		
	
	
		
			448 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			448 B
		
	
	
	
		
			LLVM
		
	
	
	
; RUN: llvm-as < %s | opt -argpromotion -instcombine | not grep load
 | 
						|
 | 
						|
%QuadTy = type {int, int, int, int}
 | 
						|
 | 
						|
%G = constant %QuadTy {int 0, int 0, int 17, int 25 }
 | 
						|
 | 
						|
implementation
 | 
						|
 | 
						|
internal int %test(%QuadTy* %P) {
 | 
						|
	%A = getelementptr %QuadTy* %P, long 0, ubyte 3
 | 
						|
	%B = getelementptr %QuadTy* %P, long 0, ubyte 2
 | 
						|
	%a = load int* %A
 | 
						|
	%b = load int* %B
 | 
						|
	%V = add int %a, %b
 | 
						|
	ret int %V
 | 
						|
}
 | 
						|
 | 
						|
int %caller() {
 | 
						|
	%V = call int %test(%QuadTy* %G)
 | 
						|
	ret int %V
 | 
						|
}
 |