Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								e21903987f 
								
							 
						 
						
							
							
								
								Clean up some multiple-return-value code that is no longer  
							
							 
							
							... 
							
							
							
							applicable.
llvm-svn: 57033 
							
						 
						
							2008-10-03 22:21:24 +00:00  
						
					 
				
					
						
							
							
								 
								Nuno Lopes
							
						 
						
							 
							
							
							
							
								
							
							
								ffc9da6772 
								
							 
						 
						
							
							
								
								remove redundant test (mayBeOverriden() includes hasLinkOnceLinkage)  
							
							 
							
							... 
							
							
							
							llvm-svn: 56786 
							
						 
						
							2008-09-29 14:40:32 +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  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a79db30d28 
								
							 
						 
						
							
							
								
								Tidy up several unbeseeming casts from pointer to intptr_t.  
							
							 
							
							... 
							
							
							
							llvm-svn: 55779 
							
						 
						
							2008-09-04 17:05:41 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								fa1211f69b 
								
							 
						 
						
							
							
								
								Enable first-class aggregates support.  
							
							 
							
							... 
							
							
							
							Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.
The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.
llvm-svn: 53941 
							
						 
						
							2008-07-23 00:34:11 +00:00  
						
					 
				
					
						
							
							
								 
								Matthijs Kooijman
							
						 
						
							 
							
							
							
							
								
							
							
								0c71732497 
								
							 
						 
						
							
							
								
								Use a CallSite to find the nth argument of a call/invoke instruction instead of  
							
							 
							
							... 
							
							
							
							using getOperand() directly. This makes things work with invoke instructions as
well.
llvm-svn: 52489 
							
						 
						
							2008-06-19 08:53:24 +00:00  
						
					 
				
					
						
							
							
								 
								Matthijs Kooijman
							
						 
						
							 
							
							
							
							
								
							
							
								fd17357643 
								
							 
						 
						
							
							
								
								Reapply r52397 (make IPConstProp promote returned arguments), but fixed this  
							
							 
							
							... 
							
							
							
							time. Sorry for the trouble!
This time, also add a testcase, which I should have done in the first place...
llvm-svn: 52455 
							
						 
						
							2008-06-18 08:30:37 +00:00  
						
					 
				
					
						
							
							
								 
								Matthijs Kooijman
							
						 
						
							 
							
							
							
							
								
							
							
								97034598b1 
								
							 
						 
						
							
							
								
								Reapply r52396, it was unrelated to the breakage (that was caused by r52397, my  
							
							 
							
							... 
							
							
							
							commit after this).
llvm-svn: 52453 
							
						 
						
							2008-06-18 08:09:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								aecc3750d1 
								
							 
						 
						
							
							
								
								revert recent patch which is causing widespread breakage.  
							
							 
							
							... 
							
							
							
							llvm-svn: 52415 
							
						 
						
							2008-06-17 17:06:43 +00:00  
						
					 
				
					
						
							
							
								 
								Matthijs Kooijman
							
						 
						
							 
							
							
							
							
								
							
							
								332836d68d 
								
							 
						 
						
							
							
								
								Learn IPConstProp to propagate arguments that are directly returned. Strictly  
							
							 
							
							... 
							
							
							
							speaking these are not constant values. However, when a function always returns
one of its arguments, then from the point of view of each caller the return
value is constant (or at least a known value) and can be replaced.
llvm-svn: 52397 
							
						 
						
							2008-06-17 12:20:24 +00:00  
						
					 
				
					
						
							
							
								 
								Matthijs Kooijman
							
						 
						
							 
							
							
							
							
								
							
							
								f03c1ae407 
								
							 
						 
						
							
							
								
								Learn IPConstProp to look at individual return values and propagate them  
							
							 
							
							... 
							
							
							
							individually.
Also learn IPConstProp how returning first class aggregates work, in addition
to old style multiple return instructions.
Modify the return-constants testscase to confirm this behaviour.
llvm-svn: 52396 
							
						 
						
							2008-06-17 12:02:52 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								dbd595f22d 
								
							 
						 
						
							
							
								
								Fix PR2411, where ip constant prop would propagate the  
							
							 
							
							... 
							
							
							
							result of a weak function.
llvm-svn: 52137 
							
						 
						
							2008-06-09 07:58:07 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d78c400b5b 
								
							 
						 
						
							
							
								
								Clean up the use of static and anonymous namespaces. This turned up  
							
							 
							
							... 
							
							
							
							several things that were neither in an anonymous namespace nor static
but not intended to be global.
llvm-svn: 51017 
							
						 
						
							2008-05-13 00:00:25 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								a82d691caa 
								
							 
						 
						
							
							
								
								simplify code for propagation of constant arguments into  
							
							 
							
							... 
							
							
							
							callees.
llvm-svn: 50142 
							
						 
						
							2008-04-23 06:16:27 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5f1802cfdf 
								
							 
						 
						
							
							
								
								Fix a number of bugs in ipconstantprop, simplify the code, fit in 80 cols,  
							
							 
							
							... 
							
							
							
							fix read after free bug (PR2238).
llvm-svn: 50141 
							
						 
						
							2008-04-23 05:59:23 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								5ca2ea6479 
								
							 
						 
						
							
							
								
								Incorporate feedback.  
							
							 
							
							... 
							
							
							
							- Fix loop nest.
- Use RetVals.size()
- Check for null return value.
llvm-svn: 48605 
							
						 
						
							2008-03-20 18:30:32 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								7358165c99 
								
							 
						 
						
							
							
								
								Handle multiple ret values.  
							
							 
							
							... 
							
							
							
							llvm-svn: 48254 
							
						 
						
							2008-03-11 22:24:29 +00:00  
						
					 
				
					
						
							
							
								 
								Anton Korobeynikov
							
						 
						
							 
							
							
							
							
								
							
							
								1bfd121321 
								
							 
						 
						
							
							
								
								Make Transforms to be 4.3 warnings-clean  
							
							 
							
							... 
							
							
							
							llvm-svn: 47371 
							
						 
						
							2008-02-20 11:26:25 +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  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								e7da2d6ac3 
								
							 
						 
						
							
							
								
								Fix typo in comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36873 
							
						 
						
							2007-05-06 13:37:16 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								8c78a0bff0 
								
							 
						 
						
							
							
								
								Drop 'const'  
							
							 
							
							... 
							
							
							
							llvm-svn: 36662 
							
						 
						
							2007-05-03 01:11:54 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								e95c6ad802 
								
							 
						 
						
							
							
								
								Use 'static const char' instead of 'static const int'.  
							
							 
							
							... 
							
							
							
							Due to darwin gcc bug, one version of darwin linker coalesces
static const int, which defauts PassID based pass identification.
llvm-svn: 36652 
							
						 
						
							2007-05-02 21:39:20 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								09f162ca6a 
								
							 
						 
						
							
							
								
								Do not use typeinfo to identify pass in pass manager.  
							
							 
							
							... 
							
							
							
							llvm-svn: 36632 
							
						 
						
							2007-05-01 21:15:47 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								557ab15e71 
								
							 
						 
						
							
							
								
								Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes in  
							
							 
							
							... 
							
							
							
							the Transforms library. This reduces debug library size by 132 KB, debug
binary size by 376 KB, and reduces link time for llvm tools slightly.
llvm-svn: 33939 
							
						 
						
							2007-02-05 23:32:05 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								5301e7c605 
								
							 
						 
						
							
							
								
								For PR1136: Rename GlobalVariable::isExternal as isDeclaration to avoid  
							
							 
							
							... 
							
							
							
							confusion with external linkage types.
llvm-svn: 33663 
							
						 
						
							2007-01-30 20:08:39 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								1631bcb1d4 
								
							 
						 
						
							
							
								
								Eliminate static ctors due to Statistic objects  
							
							 
							
							... 
							
							
							
							llvm-svn: 32693 
							
						 
						
							2006-12-19 22:09:18 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								700b873130 
								
							 
						 
						
							
							
								
								Detemplatize the Statistic class.  The only type it is instantiated with  
							
							 
							
							... 
							
							
							
							is 'unsigned'.
llvm-svn: 32279 
							
						 
						
							2006-12-06 17:46:33 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c2d3d3112e 
								
							 
						 
						
							
							
								
								eliminate RegisterOpt.  It does the same thing as RegisterPass.  
							
							 
							
							... 
							
							
							
							llvm-svn: 29925 
							
						 
						
							2006-08-27 22:42:52 +00:00  
						
					 
				
					
						
							
							
								 
								Misha Brukman
							
						 
						
							 
							
							
							
							
								
							
							
								b1c9317bb4 
								
							 
						 
						
							
							
								
								Remove trailing whitespace  
							
							 
							
							... 
							
							
							
							llvm-svn: 21427 
							
						 
						
							2005-04-21 23:48:37 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								531f9e92d4 
								
							 
						 
						
							
							
								
								This mega patch converts us from using Function::a{iterator|begin|end} to  
							
							 
							
							... 
							
							
							
							using Function::arg_{iterator|begin|end}.  Likewise Module::g* -> Module::global_*.
This patch is contributed by Gabor Greif, thanks!
llvm-svn: 20597 
							
						 
						
							2005-03-15 04:54:21 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								263b0a1669 
								
							 
						 
						
							
							
								
								Only cound if we actually made a change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 18800 
							
						 
						
							2004-12-11 17:00:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5a8b003a09 
								
							 
						 
						
							
							
								
								Remove note to self  
							
							 
							
							... 
							
							
							
							llvm-svn: 17734 
							
						 
						
							2004-11-14 06:57:47 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								af555adc15 
								
							 
						 
						
							
							
								
								If a function always returns a constant, replace all calls sites with that  
							
							 
							
							... 
							
							
							
							constant value.  This makes the return value dead and allows for
simplification in the caller.
This implements IPConstantProp/return-constant.ll
This triggers several dozen times throughout SPEC.
llvm-svn: 17730 
							
						 
						
							2004-11-14 06:10:11 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								9621dfab3f 
								
							 
						 
						
							
							
								
								Actually, leave the check in.  This prevents us from counting dead arguments  
							
							 
							
							... 
							
							
							
							as IPCP opportunities.
llvm-svn: 17680 
							
						 
						
							2004-11-11 07:47:54 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5fa696f8e4 
								
							 
						 
						
							
							
								
								Fix bug: IPConstantProp/deadarg.ll  
							
							 
							
							... 
							
							
							
							llvm-svn: 17679 
							
						 
						
							2004-11-11 07:46:29 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								c1d24cd859 
								
							 
						 
						
							
							
								
								Make IP Constant prop more aggressive about handling self recursive calls.  
							
							 
							
							... 
							
							
							
							This implements IPConstantProp/recursion.ll
llvm-svn: 17666 
							
						 
						
							2004-11-10 19:43:59 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								0d3773d8b1 
								
							 
						 
						
							
							
								
								Do not let dead constant expressions hanging off of functions prevent IPCP.  
							
							 
							
							... 
							
							
							
							This allows to elimination of a bunch of global pool descriptor args from
programs being pool allocated (and is also generally useful!)
llvm-svn: 17657 
							
						 
						
							2004-11-09 20:47:30 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								4f2cf030e8 
								
							 
						 
						
							
							
								
								'Pass' should now not be derived from by clients.  Instead, they should derive  
							
							 
							
							... 
							
							
							
							from ModulePass.  Instead of implementing Pass::run, then should implement
ModulePass::runOnModule.
llvm-svn: 16436 
							
						 
						
							2004-09-20 04:48:05 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								7c16caa336 
								
							 
						 
						
							
							
								
								Changes For Bug 352  
							
							 
							
							... 
							
							
							
							Move include/Config and include/Support into include/llvm/Config,
include/llvm/ADT and include/llvm/Support. From here on out, all LLVM
public header files must be under include/llvm/.
llvm-svn: 16137 
							
						 
						
							2004-09-01 22:55:40 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								199aeb7f59 
								
							 
						 
						
							
							
								
								Avoid an unnecessary isa<Constant>.  
							
							 
							
							... 
							
							
							
							llvm-svn: 14963 
							
						 
						
							2004-07-18 08:31:18 +00:00  
						
					 
				
					
						
							
							
								 
								Reid Spencer
							
						 
						
							 
							
							
							
							
								
							
							
								ef784f01dd 
								
							 
						 
						
							
							
								
								bug 122:  
							
							 
							
							... 
							
							
							
							- Minimize redundant isa<GlobalValue> usage
llvm-svn: 14948 
							
						 
						
							2004-07-18 00:32:14 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f52e03c79e 
								
							 
						 
						
							
							
								
								Finegrainify namespacification  
							
							 
							
							... 
							
							
							
							llvm-svn: 10138 
							
						 
						
							2003-11-21 21:54:22 +00:00  
						
					 
				
					
						
							
							
								 
								Brian Gaeke
							
						 
						
							 
							
							
							
							
								
							
							
								960707c335 
								
							 
						 
						
							
							
								
								Put all LLVM code into the llvm namespace, as per bug 109.  
							
							 
							
							... 
							
							
							
							llvm-svn: 9903 
							
						 
						
							2003-11-11 22:41:34 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								5e004e8ce0 
								
							 
						 
						
							
							
								
								Propagating constants to arguments can make other arguments constant.  For now  
							
							 
							
							... 
							
							
							
							do something dumb, and inefficient, but more complete.
llvm-svn: 9542 
							
						 
						
							2003-10-27 21:09:00 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								12b78db685 
								
							 
						 
						
							
							
								
								We might as well strip off any CPRs before propagation  
							
							 
							
							... 
							
							
							
							llvm-svn: 9437 
							
						 
						
							2003-10-23 18:49:23 +00:00  
						
					 
				
					
						
							
							
								 
								Chris Lattner
							
						 
						
							 
							
							
							
							
								
							
							
								f516c698ff 
								
							 
						 
						
							
							
								
								Check in initial version of ipcp  
							
							 
							
							... 
							
							
							
							llvm-svn: 9423 
							
						 
						
							2003-10-23 16:52:27 +00:00