20 lines
		
	
	
		
			414 B
		
	
	
	
		
			LLVM
		
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			414 B
		
	
	
	
		
			LLVM
		
	
	
	
| ; RUN: opt -S -inferattrs -basicaa -licm < %s | FileCheck %s
 | |
| 
 | |
| define void @test(i64* noalias %loc, i8* noalias %a) {
 | |
| ; CHECK-LABEL: @test
 | |
| ; CHECK: @strlen
 | |
| ; CHECK-LABEL: loop:
 | |
|   br label %loop
 | |
| 
 | |
| loop:
 | |
|   %res = call i64 @strlen(i8* %a)
 | |
|   store i64 %res, i64* %loc
 | |
|   br label %loop
 | |
| }
 | |
| 
 | |
| ; CHECK: declare i64 @strlen(i8* nocapture) #0
 | |
| ; CHECK: attributes #0 = { argmemonly nounwind readonly }
 | |
| declare i64 @strlen(i8*)
 | |
| 
 | |
| 
 |