You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			21 lines
		
	
	
		
			741 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			741 B
		
	
	
	
		
			LLVM
		
	
	
	
	
	
| ; We previously had a case where we would put results from a no-args call in
 | |
| ; its own stratified set. This would make cases like the one in @test say that
 | |
| ; nothing (except %Escapes and %Arg) can alias
 | |
| 
 | |
| ; RUN: opt < %s -disable-basicaa -cfl-steens-aa -aa-eval -print-all-alias-modref-info -disable-output 2>&1 | FileCheck %s
 | |
| 
 | |
| ; CHECK:     Function: test
 | |
| ; CHECK:     NoAlias: i8* %Arg, i8* %Escapes
 | |
| ; CHECK:     MayAlias: i8* %Arg, i8* %Retrieved
 | |
| ; CHECK:     MayAlias: i8* %Escapes, i8* %Retrieved
 | |
| define void @test(i8* %Arg) {
 | |
|   %Noalias = alloca i8
 | |
|   %Escapes = alloca i8
 | |
|   call void @set_thepointer(i8* %Escapes)
 | |
|   %Retrieved = call i8* @get_thepointer()
 | |
|   ret void
 | |
| }
 | |
| 
 | |
| declare void @set_thepointer(i8* %P)
 | |
| declare i8* @get_thepointer()
 |