Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								7a848b0ee3 
								
							 
						 
						
							
							
								
								Check Attribute::NoInline.  
							
							 
							
							... 
							
							
							
							llvm-svn: 58742 
							
						 
						
							2008-11-05 01:37:05 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								3933e66a89 
								
							 
						 
						
							
							
								
								Add InlineCost class for represent the estimated cost of inlining a  
							
							 
							
							... 
							
							
							
							function.
 - This explicitly models the costs for functions which should
   "always" or "never" be inlined. This fixes bugs where such costs
   were not previously respected.
llvm-svn: 58450 
							
						 
						
							2008-10-30 19:26:59 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								08d91178e9 
								
							 
						 
						
							
							
								
								Rename isWeakForLinker to mayBeOverridden.  Use it  
							
							 
							
							... 
							
							
							
							instead of hasWeakLinkage in a bunch of optimization
passes.
llvm-svn: 56782 
							
						 
						
							2008-09-29 11:25:42 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								9eb525d4f9 
								
							 
						 
						
							
							
								
								Implement function notes as function attributes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 56716 
							
						 
						
							2008-09-26 23:51:19 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								4c758ea3e0 
								
							 
						 
						
							
							
								
								Large mechanical patch.  
							
							 
							
							... 
							
							
							
							s/ParamAttr/Attribute/g
s/PAList/AttrList/g
s/FnAttributeWithIndex/AttributeWithIndex/g
s/FnAttr/Attribute/g
This sets the stage 
- to implement function notes as function attributes and 
- to distinguish between function attributes and return value attributes.
This requires corresponding changes in llvm-gcc and clang.
llvm-svn: 56622 
							
						 
						
							2008-09-25 21:00:45 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e15607b7bb 
								
							 
						 
						
							
							
								
								Put FN_NOTE_AlwaysInline and others in FnAttr namespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 56527 
							
						 
						
							2008-09-24 00:06:15 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e87abd26ba 
								
							 
						 
						
							
							
								
								Move FN_NOTE_AlwaysInline and other out of ParamAttrs namespace.  
							
							 
							
							... 
							
							
							
							Do not check isDeclaration() in hasNote(). It is clients' responsibility.
llvm-svn: 56524 
							
						 
						
							2008-09-23 23:52:03 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								82fed6702b 
								
							 
						 
						
							
							
								
								Use parameter attribute store (soon to be renamed) for  
							
							 
							
							... 
							
							
							
							Function Notes also. Function notes are stored at index ~0.
llvm-svn: 56511 
							
						 
						
							2008-09-23 22:35:17 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								329fe728b5 
								
							 
						 
						
							
							
								
								Add hasNote() to check note associated with a function.  
							
							 
							
							... 
							
							
							
							llvm-svn: 56477 
							
						 
						
							2008-09-22 22:32:29 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								0d442ffa2b 
								
							 
						 
						
							
							
								
								Handle "always inline" note during inline cost analysis.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55712 
							
						 
						
							2008-09-03 18:47:45 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								97cd0298cc 
								
							 
						 
						
							
							
								
								Inliner tweak. Function calls should cost more than one instruction!  
							
							 
							
							... 
							
							
							
							llvm-svn: 53712 
							
						 
						
							2008-07-17 01:31:49 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								8882b1c41c 
								
							 
						 
						
							
							
								
								Reapply r53540, now with the matching header!  
							
							 
							
							... 
							
							
							
							llvm-svn: 53557 
							
						 
						
							2008-07-14 17:32:59 +00:00  
						
					 
				
					
						
							
							
								 
								Duncan Sands
							
						 
						
							 
							
							
							
							
								
							
							
								68b0383057 
								
							 
						 
						
							
							
								
								Revert r53540 - it does not compile.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53549 
							
						 
						
							2008-07-14 07:59:28 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								2831ad28be 
								
							 
						 
						
							
							
								
								If a function calls setjmp, never inline it into other functions.  This is  
							
							 
							
							... 
							
							
							
							a hack around the fact that we don't represent the CFG correctly for sj/lj.
It fixes PR2486.
llvm-svn: 53540 
							
						 
						
							2008-07-14 00:46:56 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								6f5ea6e49c 
								
							 
						 
						
							
							
								
								simplify some code, shuffle and insertelt always return a vector.  
							
							 
							
							... 
							
							
							
							llvm-svn: 53538 
							
						 
						
							2008-07-14 00:32:20 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								608eeef5ce 
								
							 
						 
						
							
							
								
								Adjust inline cost computation to be less aggressive.  
							
							 
							
							... 
							
							
							
							llvm-svn: 50222 
							
						 
						
							2008-04-24 18:42:47 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								ac38d444e2 
								
							 
						 
						
							
							
								
								1. Drop default inline threshold back down to 200.  
							
							 
							
							... 
							
							
							
							2. Do not use # of basic blocks as part of the cost computation since it doesn't really figure into function size.
3. More aggressively inline function with vector code.
llvm-svn: 49061 
							
						 
						
							2008-04-01 23:59:29 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								3471ae8c5d 
								
							 
						 
						
							
							
								
								Increasing the inline limit from (overly conservative) 200 to 300. Given each BB costs 20 and each instruction costs 5, 200 means a 4 BB function + 24 instructions (actually less because caller's size also contributes to it).  
							
							 
							
							... 
							
							
							
							Furthermore, double the limit when more than 10% of the callee instructions are vector instructions. Multimedia kernels tend to love inlining.
llvm-svn: 48725 
							
						 
						
							2008-03-24 06:37:48 +00:00  
						
					 
				
					
						
							
							
								 
								Evan Cheng
							
						 
						
							 
							
							
							
							
								
							
							
								5daf090a1a 
								
							 
						 
						
							
							
								
								80 col violation.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48573 
							
						 
						
							2008-03-20 00:20:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f3ebc3f3d2 
								
							 
						 
						
							
							
								
								Remove attribution from file headers, per discussion on llvmdev.  
							
							 
							
							... 
							
							
							
							llvm-svn: 45418 
							
						 
						
							2007-12-29 20:36:04 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								9d1af9b63d 
								
							 
						 
						
							
							
								
								Fix comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 42048 
							
						 
						
							2007-09-17 20:07:40 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e3206cb425 
								
							 
						 
						
							
							
								
								Use SmallPtrSet.  
							
							 
							
							... 
							
							
							
							llvm-svn: 40560 
							
						 
						
							2007-07-27 18:34:27 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								33227115b9 
								
							 
						 
						
							
							
								
								Add BasicInliner interface.  
							
							 
							
							... 
							
							
							
							This interface allows clients to inline bunch of functions with module
level call graph information.:wq
llvm-svn: 40486 
							
						 
						
							2007-07-25 18:00:25 +00:00