David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								e80fcf0340
								
							
						 | 
						
							
							
								
								[SimplifyLibCalls] Mark known arguments with nonnull
							
							
							
							
							
							
							
							Reviewers: efriedma, jdoerfert
Reviewed By: jdoerfert
Subscribers: ychen, rsmith, joerg, aaron.ballman, lebedev.ri, uenoku, jdoerfert, hfinkel, javed.absar, spatel, dmgreen, llvm-commits
Differential Revision: https://reviews.llvm.org/D53342
llvm-svn: 372091 
							
						 | 
						
							2019-09-17 09:32:52 +00:00 | 
						
					
				
					
						
							
							
								 
								David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								f94460d4b6
								
							
						 | 
						
							
							
								
								[SLC] Dereferenceable annonation - handle valid null pointers
							
							
							
							
							
							
							
							Reviewers: jdoerfert, reames
Reviewed By: jdoerfert
Subscribers: llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66161
llvm-svn: 368884 
							
						 | 
						
							2019-08-14 17:15:20 +00:00 | 
						
					
				
					
						
							
							
								 
								David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								0e0fbae1a4
								
							
						 | 
						
							
							
								
								[BuildLibCalls] Noalias annotation
							
							
							
							
							
							
							
							Summary: I think this is better solution than annotating callsites in IC/SLC.
Reviewers: jdoerfert
Reviewed By: jdoerfert
Subscribers: MaskRay, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66217
llvm-svn: 368875 
							
						 | 
						
							2019-08-14 16:50:06 +00:00 | 
						
					
				
					
						
							
							
								 
								David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								038d604f4f
								
							
						 | 
						
							
							
								
								[SimplifyLibCalls] Add noalias from known callsites
							
							
							
							
							
							
							
							Summary:
Should be fine for memcpy, strcpy, strncpy.
Reviewers: jdoerfert, efriedma
Reviewed By: jdoerfert
Subscribers: uenoku, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66135
llvm-svn: 368724 
							
						 | 
						
							2019-08-13 17:18:46 +00:00 | 
						
					
				
					
						
							
							
								 
								David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								dde10cd7a9
								
							
						 | 
						
							
							
								
								[NFC] Revisited/updated tests
							
							
							
							
							
							
							
							llvm-svn: 368722 
							
						 | 
						
							2019-08-13 17:07:02 +00:00 | 
						
					
				
					
						
							
							
								 
								David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								90a30fdcc3
								
							
						 | 
						
							
							
								
								[SLC] Improve dereferenceable bytes annotation
							
							
							
							
							
							
							
							llvm-svn: 368715 
							
						 | 
						
							2019-08-13 16:44:16 +00:00 | 
						
					
				
					
						
							
							
								 
								David Bolvansky
							
						 | 
						
							
							
							
							
							
								
							
							
								39130314fe
								
							
						 | 
						
							
							
								
								[SimplifyLibCalls] Add dereferenceable bytes from known callsites
							
							
							
							
							
							
							
							Summary:
int mm(char *a, char *b) {
    return memcmp(a,b,16);
}
Currently:
define dso_local i32 @mm(i8* nocapture readonly %a, i8* nocapture readonly %b) local_unnamed_addr #1 {
entry:
  %call = tail call i32 @memcmp(i8* %a, i8* %b, i64 16)
  ret i32 %call
}
After patch:
define dso_local i32 @mm(i8* nocapture readonly %a, i8* nocapture readonly %b) local_unnamed_addr #1 {
entry:
  %call = tail call i32 @memcmp(i8* dereferenceable(16)  %a, i8* dereferenceable(16)  %b, i64 16)
  ret i32 %call
}
Reviewers: jdoerfert, efriedma
Reviewed By: jdoerfert
Subscribers: javed.absar, spatel, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D66079
llvm-svn: 368657
							
						 | 
						
							2019-08-13 09:11:49 +00:00 |