mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-10-31 08:16:47 +00:00 
			
		
		
		
	functions. Make the function attributes pass add it to known library functions and when it can deduce it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185735 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			22 lines
		
	
	
		
			621 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			621 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; RUN: opt < %s -functionattrs -S | FileCheck %s
 | |
| 
 | |
| ; CHECK: declare noalias i8* @fopen(i8* nocapture readonly, i8* nocapture readonly) #0
 | |
| declare i8* @fopen(i8*, i8*)
 | |
| 
 | |
| ; CHECK: declare i8 @strlen(i8* nocapture) #1
 | |
| declare i8 @strlen(i8*)
 | |
| 
 | |
| ; CHECK: declare noalias i32* @realloc(i32* nocapture, i32) #0
 | |
| declare i32* @realloc(i32*, i32)
 | |
| 
 | |
| ; Test deliberately wrong declaration
 | |
| declare i32 @strcpy(...)
 | |
| 
 | |
| ; CHECK-NOT: strcpy{{.*}}noalias
 | |
| ; CHECK-NOT: strcpy{{.*}}nocapture
 | |
| ; CHECK-NOT: strcpy{{.*}}nounwind
 | |
| ; CHECK-NOT: strcpy{{.*}}readonly
 | |
| 
 | |
| ; CHECK: attributes #0 = { nounwind }
 | |
| ; CHECK: attributes #1 = { nounwind readonly }
 |