You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			29 lines
		
	
	
		
			757 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			757 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: opt < %s -newgvn -S | FileCheck %s
 | |
| 
 | |
| ; CHECK-LABEL: func_fast
 | |
| ; CHECK:       fadd fast double
 | |
| ; CHECK-NEXT:  store
 | |
| ; CHECK-NEXT:  ret
 | |
| define double @func_fast(double %a, double %b) {
 | |
| entry:
 | |
|   %a.addr = alloca double, align 8
 | |
|   %add = fadd fast double %b, 3.000000e+00
 | |
|   store double %add, double* %a.addr, align 8
 | |
|   %load_add = load double, double* %a.addr, align 8
 | |
|   ret double %load_add
 | |
| }
 | |
| 
 | |
| ; CHECK-LABEL: func_no_fast
 | |
| ; CHECK:       fadd double
 | |
| ; CHECK-NEXT:  store
 | |
| ; CHECK-NEXT:  ret
 | |
| define double @func_no_fast(double %a, double %b) {
 | |
| entry:
 | |
|   %a.addr = alloca double, align 8
 | |
|   %add = fadd fast double %b, 3.000000e+00
 | |
|   store double %add, double* %a.addr, align 8
 | |
|   %duplicated_add = fadd double %b, 3.000000e+00
 | |
|   ret double %duplicated_add
 | |
| }
 | |
| 
 |