Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						8e0d1c03ca 
					 
					
						
						
							
							Make MemoryBuiltins aware of TargetLibraryInfo.  
						
						... 
						
						
						
						This disables malloc-specific optimization when -fno-builtin (or -ffreestanding)
is specified. This has been a problem for a long time but became more severe
with the recent memory builtin improvements.
Since the memory builtin functions are used everywhere, this required passing
TLI in many places. This means that functions that now have an optional TLI
argument, like RecursivelyDeleteTriviallyDeadFunctions, won't remove dead
mallocs anymore if the TLI argument is missing. I've updated most passes to do
the right thing.
Fixes PR13694 and probably others.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162841  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-08-29 15:32:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						6871d1eceb 
					 
					
						
						
							
							Add a few functions to TargetLibraryInfo as part of PR13574.  
						
						... 
						
						
						
						Patch by Weiming Zhao <weimingz@codeaurora.org >.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162329  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-08-21 23:28:56 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						d1e672e023 
					 
					
						
						
							
							Add new getLibFunc method to TargetLibraryInfo.  
						
						... 
						
						
						
						This just provides a way to look up a LibFunc::Func enum value for a
function name.  Alphabetize the enums and function names so we can use a
binary search.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161231  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-08-03 04:06:22 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						51004dff92 
					 
					
						
						
							
							make all Emit*() functions consult the TargetLibraryInfo information before creating a call to a library function.  
						
						... 
						
						
						
						Update all clients to pass the TLI information around.
Previous draft reviewed by Eli.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160733  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-25 16:46:31 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						8d32463a9f 
					 
					
						
						
							
							add a few more functions to TargetLibraryInfo:  
						
						... 
						
						
						
						fputc, memchr, memcmp, putchar, puts, strchr, strncmp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-24 21:00:36 +00:00 
						 
				 
			
				
					
						
							
							
								Nuno Lopes 
							
						 
					 
					
						
						
							
						
						0841e63ede 
					 
					
						
						
							
							TargetLibraryInfo: add strn?cat, strn?cpy, and strn?len  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160678  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-24 17:25:06 +00:00 
						 
				 
			
				
					
						
							
							
								Joe Groff 
							
						 
					 
					
						
						
							
						
						d5bda5ec66 
					 
					
						
						
							
							fix pr12559: mark unavailable win32 math libcalls  
						
						... 
						
						
						
						also fix SimplifyLibCalls to use TLI rather than compile-time conditionals to enable optimizations on floor, ceil, round, rint, and nearbyint
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@154960  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-04-17 23:05:54 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						6a7df9aae6 
					 
					
						
						
							
							Remove redundant getAnalysis<> calls in GlobalOpt. Add a few Itanium ABI calls  
						
						... 
						
						
						
						to TargetLibraryInfo and use one of them in GlobalOpt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150323  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-02-12 02:15:20 +00:00 
						 
				 
			
				
					
						
							
							
								David Blaikie 
							
						 
					 
					
						
						
							
						
						2d24e2a396 
					 
					
						
						
							
							Unweaken vtables as per  http://llvm.org/docs/CodingStandards.html#ll_virtual_anch  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-20 02:50:00 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						243eb9ecbb 
					 
					
						
						
							
							Enhance both TargetLibraryInfo and SelectionDAGBuilder so that the latter can use the former to prevent the formation of libm SDNode's when  -fno-builtin is passed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146193  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-08 22:15:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						fbd828d8e1 
					 
					
						
						
							
							Add missing functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145608  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-01 18:26:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						32b6c59ad0 
					 
					
						
						
							
							Add a few more functions to TargetLibraryInfo. More of rdar://10500969.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145596  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-01 17:54:37 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						8ff4115ef0 
					 
					
						
						
							
							Add a few functions to TargetLibraryInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145508  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-30 19:19:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						683e47b1dd 
					 
					
						
						
							
							Alphabetize TargetLibraryInfo enum and fix doxygen comments.  No functional  
						
						... 
						
						
						
						change intended.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145468  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-30 01:51:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						3d925d24e8 
					 
					
						
						
							
							Add support for sqrt, sqrtl, and sqrtf in TargetLibraryInfo.  Disable  
						
						... 
						
						
						
						(fptrunc (sqrt (fpext x))) -> (sqrtf x) transformation if -fno-builtin is 
specified.
rdar://10466410
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145460  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-29 23:57:10 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Friedman 
							
						 
					 
					
						
						
							
						
						9d434dbff3 
					 
					
						
						
							
							Add support for custom names for library functions in TargetLibraryInfo.  Add a custom name for fwrite and fputs on x86-32 OSX.  Make SimplifyLibCalls honor the custom  
						
						... 
						
						
						
						names for fwrite and fputs.
Fixes <rdar://problem/9815881>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144876  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-11-17 01:27:36 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						9fe88973be 
					 
					
						
						
							
							Enable printf() to iprintf() optimization for the TCE target.  
						
						... 
						
						
						
						Patch by Pekka Jaaskelainen. 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132774  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-09 11:11:45 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						40f5fbcc5c 
					 
					
						
						
							
							add a copy ctor to TargetLibraryInfo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131806  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-21 20:09:13 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						558692fd0a 
					 
					
						
						
							
							ADT/Triple: Renambe isOSX... methods to isMacOSX for consistency with the OS  
						
						... 
						
						
						
						triple component.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129838  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-20 00:14:25 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						13fb3b5706 
					 
					
						
						
							
							Target: Eliminate a use of getDarwinMajorNumber().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129803  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-19 20:44:08 +00:00 
						 
				 
			
				
					
						
							
							
								Richard Osborne 
							
						 
					 
					
						
						
							
						
						022708f221 
					 
					
						
						
							
							Optimize fprintf -> iprintf if there are no floating point arguments  
						
						... 
						
						
						
						and siprintf is available on the target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126940  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-03 14:20:22 +00:00 
						 
				 
			
				
					
						
							
							
								Richard Osborne 
							
						 
					 
					
						
						
							
						
						419454ad37 
					 
					
						
						
							
							Optimize sprintf -> siprintf if there are no floating point arguments  
						
						... 
						
						
						
						and siprintf is available on the target.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126937  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-03 14:09:28 +00:00 
						 
				 
			
				
					
						
							
							
								Richard Osborne 
							
						 
					 
					
						
						
							
						
						3649824bec 
					 
					
						
						
							
							Optimize printf -> iprintf if there are no floating point arguments  
						
						... 
						
						
						
						and iprintf is available on the target. Currently iprintf is only
marked as being available on the XCore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126935  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-03 13:17:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						188a7e00e7 
					 
					
						
						
							
							add a way to disable all builtins, wire it up to opt's -disable-simplifylibcalls flag.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125978  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-18 22:34:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ce99120084 
					 
					
						
						
							
							introduce a new TargetLibraryInfo pass, which transformations can use to  
						
						... 
						
						
						
						query about available library functions.  For now this just has 
memset_pattern16, which exists on darwin, but it can be extended for a 
bunch of other things in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-02-18 21:50:34 +00:00