Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								9f2bca02d7 
								
							 
						 
						
							
							
								
								Experiments show that we can safely increase our unrolling threshold without unduly impacting code size, particularly  
							
							 
							
							... 
							
							
							
							since unrolling is not enabled at -Os.
llvm-svn: 110233 
							
						 
						
							2010-08-04 18:32:46 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								ba81fc16a5 
								
							 
						 
						
							
							
								
								Fix whitespace.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110223 
							
						 
						
							2010-08-04 17:43:57 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								839c972102 
								
							 
						 
						
							
							
								
								Fix a comment.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110181 
							
						 
						
							2010-08-04 01:16:35 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5442c71f2e 
								
							 
						 
						
							
							
								
								Thread const correctness through a bunch of AliasAnalysis interfaces and  
							
							 
							
							... 
							
							
							
							eliminate several const_casts.
Make CallSite implicitly convertible to ImmutableCallSite.
Rename the getModRefBehavior for intrinsic IDs to
getIntrinsicModRefBehavior to avoid overload ambiguity with CallSite,
which happens to be implicitly convertible to bool.
llvm-svn: 110155 
							
						 
						
							2010-08-03 21:48:53 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								3619660529 
								
							 
						 
						
							
							
								
								Make instcombine set explicit alignments on load or store  
							
							 
							
							... 
							
							
							
							instructions with alignment 0, so that subsequent passes don't
need to bother checking the TargetData ABI size manually.
llvm-svn: 110128 
							
						 
						
							2010-08-03 18:20:32 +00:00  
						
					 
				
					
						
							
							
								 
								Peter Collingbourne
							
						 
						
							 
							
							
							
							
								
							
							
								ddaaf40d24 
								
							 
						 
						
							
							
								
								Add an atomic lowering pass  
							
							 
							
							... 
							
							
							
							llvm-svn: 110113 
							
						 
						
							2010-08-03 16:19:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								35e8a6209d 
								
							 
						 
						
							
							
								
								Use unary + instead of a separate local variable for working  
							
							 
							
							... 
							
							
							
							around std::min vs static const friction.
llvm-svn: 110112 
							
						 
						
							2010-08-03 16:15:50 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								8f306a779b 
								
							 
						 
						
							
							
								
								Re-apply the infamous r108614, with a fix pointed out by Dirk Steinke.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110036 
							
						 
						
							2010-08-02 09:32:13 +00:00  
						
					 
				
					
						
							
							
								 
								Oscar Fuentes
							
						 
						
							 
							
							
							
							
								
							
							
								40b31ad3ee 
								
							 
						 
						
							
							
								
								Prefix `next' iterator operation with `llvm::'.  
							
							 
							
							... 
							
							
							
							Fixes potential ambiguity problems on VS 2010.
Patch by nobled!
llvm-svn: 110029 
							
						 
						
							2010-08-02 06:00:15 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								c1b09c8644 
								
							 
						 
						
							
							
								
								Fix a -Wreorder warning.  
							
							 
							
							... 
							
							
							
							llvm-svn: 110022 
							
						 
						
							2010-08-02 05:43:46 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								f52bd9cc33 
								
							 
						 
						
							
							
								
								Work in progress.  
							
							 
							
							... 
							
							
							
							Start cleaning up MergeFunctions to look more like the rest of LLVM. The
primary change here is to move the methods responsible for comparison into the
new FunctionComparator object. Some comments added. There's more to do.
llvm-svn: 110021 
							
						 
						
							2010-08-02 05:23:03 +00:00  
						
					 
				
					
						
							
							
								 
								Daniel Dunbar
							
						 
						
							 
							
							
							
							
								
							
							
								0b636a24c7 
								
							 
						 
						
							
							
								
								Speculatively revert r108614, "Another attempt at getting the clang self-host to  
							
							 
							
							... 
							
							
							
							like my instcombine patch.", in an attempt to fix Clang i386 bootstrap.
 - Also PR7719.
llvm-svn: 109953 
							
						 
						
							2010-07-31 19:51:11 +00:00  
						
					 
				
					
						
							
							
								 
								Rafael Espindola
							
						 
						
							 
							
							
							
							
								
							
							
								40f18838b7 
								
							 
						 
						
							
							
								
								The BlockExtractorPass() constructor was not reading the BlockFile and that was  
							
							 
							
							... 
							
							
							
							exactly what bugpoint expected it to do.
There was also only one user of
BlockExtractorPass(const std::vector<BasicBlock*> &B), so just remove it and
make BlockExtractorPass read BlockFile.
This fixes bugpoint's block extraction.
Nick, please review.
llvm-svn: 109936 
							
						 
						
							2010-07-31 00:32:17 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d566d2c7b5 
								
							 
						 
						
							
							
								
								Move MaximumAlignment to be a member of the Value class.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109891 
							
						 
						
							2010-07-30 21:07:05 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								299c6dfcbf 
								
							 
						 
						
							
							
								
								Add missing newline to debug statement.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109886 
							
						 
						
							2010-07-30 20:27:01 +00:00  
						
					 
				
					
						
							
							
								 
								Eli Friedman
							
						 
						
							 
							
							
							
							
								
							
							
								0428a61e45 
								
							 
						 
						
							
							
								
								PR7750: !CExpr->isNullValue() only properly computes whether CExpr is nonnull  
							
							 
							
							... 
							
							
							
							if CExpr is a ConstantInt.
llvm-svn: 109773 
							
						 
						
							2010-07-29 18:03:33 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								62f0aac99d 
								
							 
						 
						
							
							
								
								simplify by using CallSite constructors; virtually eliminates CallSite::get from the tree  
							
							 
							
							... 
							
							
							
							llvm-svn: 109687 
							
						 
						
							2010-07-28 22:50:26 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a7e5a24093 
								
							 
						 
						
							
							
								
								Define a maximum supported alignment value for load, store, and  
							
							 
							
							... 
							
							
							
							alloca instructions (constrained by their internal encoding),
and add error checking for it. Fix an instcombine bug which
generated huge alignment values (null is infinitely aligned).
This fixes undefined behavior noticed by John Regehr.
llvm-svn: 109643 
							
						 
						
							2010-07-28 20:12:04 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								9cd20bf792 
								
							 
						 
						
							
							
								
								When user code intentionally dereferences null, the alignment of the  
							
							 
							
							... 
							
							
							
							dereference is theoretically infinite. Put a cap on the computed
alignment to avoid overflow, noticed by John Regehr.
llvm-svn: 109596 
							
						 
						
							2010-07-28 17:14:23 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								f0084e1333 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109589 
							
						 
						
							2010-07-28 15:52:43 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								0a970698da 
								
							 
						 
						
							
							
								
								use Value* constructor of CallSite to create potentially improper site, and test that  
							
							 
							
							... 
							
							
							
							llvm-svn: 109581 
							
						 
						
							2010-07-28 14:28:18 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								f159085414 
								
							 
						 
						
							
							
								
								recommit simplification (r109502, backed out r109509); seems to innocent  
							
							 
							
							... 
							
							
							
							llvm-svn: 109510 
							
						 
						
							2010-07-27 16:44:23 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								5f91b7cf3e 
								
							 
						 
						
							
							
								
								back out this too to restore the bots  
							
							 
							
							... 
							
							
							
							llvm-svn: 109509 
							
						 
						
							2010-07-27 15:56:07 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								7b0a5fd2a5 
								
							 
						 
						
							
							
								
								simplify: CallSite::get --> CallSite constructor  
							
							 
							
							... 
							
							
							
							llvm-svn: 109506 
							
						 
						
							2010-07-27 15:02:37 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								7527b2ed5c 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109502 
							
						 
						
							2010-07-27 13:31:22 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								aa7f66ba67 
								
							 
						 
						
							
							
								
								Add an initial implementation of LazyValueInfo updating for JumpThreading.  Disabled for now.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109424 
							
						 
						
							2010-07-26 18:48:03 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								0141c13b22 
								
							 
						 
						
							
							
								
								Remove LCSSA's bogus dependence on LoopSimplify and LoopSimplify's bogus  
							
							 
							
							... 
							
							
							
							dependence on DominanceFrontier. Instead, add an explicit DominanceFrontier
pass in StandardPasses.h to ensure that it gets scheduled at the right
time.
Declare that loop unrolling preserves ScalarEvolution, and shuffle some
getAnalysisUsages.
This eliminates one LoopSimplify and one LCCSA run in the standard
compile opts sequence.
llvm-svn: 109413 
							
						 
						
							2010-07-26 18:11:16 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								a7908ae369 
								
							 
						 
						
							
							
								
								Preserve ScalarEvolution in the loop unroller.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109412 
							
						 
						
							2010-07-26 18:02:06 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								65b257c9d2 
								
							 
						 
						
							
							
								
								Use DominatorTree::properlyDominates instead of dominates with an  
							
							 
							
							... 
							
							
							
							explicit inequality check.
llvm-svn: 109401 
							
						 
						
							2010-07-26 17:37:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								31f73ef210 
								
							 
						 
						
							
							
								
								A block dominates itself, by definition.  
							
							 
							
							... 
							
							
							
							llvm-svn: 109400 
							
						 
						
							2010-07-26 17:35:32 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								7bc0443f2b 
								
							 
						 
						
							
							
								
								Revert this because we can't clone cyclic MDNodes which are creating during a  
							
							 
							
							... 
							
							
							
							build of llvm-gcc.
llvm-svn: 109355 
							
						 
						
							2010-07-24 20:54:02 +00:00  
						
					 
				
					
						
							
							
								 
								Nick Lewycky
							
						 
						
							 
							
							
							
							
								
							
							
								14b69d59dd 
								
							 
						 
						
							
							
								
								Whether function-local or not, a MDNode may reference a Function in which case  
							
							 
							
							... 
							
							
							
							it needs to be mapped to refer to the function in the new module, not the old
one. Fixes PR7700.
llvm-svn: 109353 
							
						 
						
							2010-07-24 19:43:25 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								5fa3813329 
								
							 
						 
						
							
							
								
								Speculatively revert 109117  
							
							 
							
							... 
							
							
							
							llvm-svn: 109132 
							
						 
						
							2010-07-22 18:44:00 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								59f9970ba5 
								
							 
						 
						
							
							
								
								keep in 80 cols  
							
							 
							
							... 
							
							
							
							llvm-svn: 109122 
							
						 
						
							2010-07-22 17:18:03 +00:00  
						
					 
				
					
						
							
							
								 
								Devang Patel
							
						 
						
							 
							
							
							
							
								
							
							
								fac440cfb6 
								
							 
						 
						
							
							
								
								Map MDNode correctly.  
							
							 
							
							... 
							
							
							
							A non function local MDNode can have an operand which is cloned by MapValue(). 
llvm-svn: 109117 
							
						 
						
							2010-07-22 16:35:00 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								dde79d8f1a 
								
							 
						 
						
							
							
								
								mass elimination of reliance on automatic iterator dereferencing  
							
							 
							
							... 
							
							
							
							llvm-svn: 109103 
							
						 
						
							2010-07-22 13:36:47 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								84012a93ef 
								
							 
						 
						
							
							
								
								simplify  
							
							 
							
							... 
							
							
							
							llvm-svn: 109101 
							
						 
						
							2010-07-22 13:07:39 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								b8686360a1 
								
							 
						 
						
							
							
								
								do not access arguments via low-level interface, do not multiply dereference use_iterators  
							
							 
							
							... 
							
							
							
							llvm-svn: 109100 
							
						 
						
							2010-07-22 13:04:32 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								10bb1f5462 
								
							 
						 
						
							
							
								
								pass dereferenced iterator to dyn_cast  
							
							 
							
							... 
							
							
							
							llvm-svn: 109099 
							
						 
						
							2010-07-22 11:48:35 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								36f25dfd33 
								
							 
						 
						
							
							
								
								pass dereferenced iterator to dyn_cast  
							
							 
							
							... 
							
							
							
							llvm-svn: 109098 
							
						 
						
							2010-07-22 11:43:44 +00:00  
						
					 
				
					
						
							
							
								 
								Gabor Greif
							
						 
						
							 
							
							
							
							
								
							
							
								3e44ea1917 
								
							 
						 
						
							
							
								
								undo 80 column trespassing I caused  
							
							 
							
							... 
							
							
							
							llvm-svn: 109092 
							
						 
						
							2010-07-22 10:37:47 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								2637cc1a38 
								
							 
						 
						
							
							
								
								Make NamedMDNode not be a subclass of Value, and simplify the interface  
							
							 
							
							... 
							
							
							
							for creating and populating NamedMDNodes.
llvm-svn: 109061 
							
						 
						
							2010-07-21 23:38:33 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								a57b97e7e7 
								
							 
						 
						
							
							
								
								Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
							
							 
							
							... 
							
							
							
							llvm-svn: 109045 
							
						 
						
							2010-07-21 22:09:45 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								afbe4a7a10 
								
							 
						 
						
							
							
								
								Make this code a little more readable.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108968 
							
						 
						
							2010-07-20 23:49:44 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								7373bd9973 
								
							 
						 
						
							
							
								
								Use DebugLocs instead of MDNodes.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108967 
							
						 
						
							2010-07-20 23:49:05 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								b22dd85bb3 
								
							 
						 
						
							
							
								
								Fix a typo.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108962 
							
						 
						
							2010-07-20 23:10:36 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								5c2e65b7bf 
								
							 
						 
						
							
							
								
								Don't look up the "dbg" metadata kind by name.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108961 
							
						 
						
							2010-07-20 23:09:34 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								d2c7e52d05 
								
							 
						 
						
							
							
								
								Use getDebugLoc and setDebugLoc instead of getDbgMetadata and setDbgMetadata,  
							
							 
							
							... 
							
							
							
							avoiding MDNode overhead.
llvm-svn: 108909 
							
						 
						
							2010-07-20 20:09:07 +00:00  
						
					 
				
					
						
							
							
								 
								Dan Gohman
							
						 
						
							 
							
							
							
							
								
							
							
								12725c7d46 
								
							 
						 
						
							
							
								
								Remember that the induction variable is always a PHINode and  
							
							 
							
							... 
							
							
							
							use getIncomingValueForBlock instead of
LoopInfo::getCanonicalInductionVariableIncrement.
llvm-svn: 108865 
							
						 
						
							2010-07-20 17:18:52 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								84774eda4b 
								
							 
						 
						
							
							
								
								Tweak per Chris' comments.  
							
							 
							
							... 
							
							
							
							llvm-svn: 108736 
							
						 
						
							2010-07-19 19:23:32 +00:00