Dan Gohman 
							
						 
					 
					
						
						
							
						
						4ce307f963 
					 
					
						
						
							
							MapValue support for MDNodes. This is similar to r109117, except  
						
						... 
						
						
						
						that it avoids a lot of unnecessary cloning by avoiding remapping
MDNode cycles when none of the nodes in the cycle actually need to
be remapped. Also it uses the new temporary MDNode mechanism.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111922  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-24 17:10:10 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						02dd53e1c5 
					 
					
						
						
							
							Now that PassInfo and Pass::ID have been separated, move the rest of the passes over to the new registration API.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111815  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-23 17:52:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c7e31fcf49 
					 
					
						
						
							
							fit in 80 cols  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 03:13:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						473fc96889 
					 
					
						
						
							
							remove some dead code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111344  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 02:41:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						1c034dcbbc 
					 
					
						
						
							
							Use the getUniquePredecessor() utility function, instead of doing  
						
						... 
						
						
						
						what it does manually.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111248  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-17 17:07:02 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ebd9923bd8 
					 
					
						
						
							
							Avoid #include <ScalarEvolution.h> in LoopSimplify.cpp, which doesn't  
						
						... 
						
						
						
						actually use ScalarEvolution.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111124  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 14:44:03 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						7a4994356b 
					 
					
						
						
							
							Instead, teach SimplifyCFG to trim non-address-taken blocks from  
						
						... 
						
						
						
						indirectbr destination lists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111122  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 14:41:14 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						c2f40066bb 
					 
					
						
						
							
							LoopSimplify shouldn't split loop backedges that use indirectbr. PR7867.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111061  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-14 00:43:09 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e2c6d131d1 
					 
					
						
						
							
							Teach SimplifyCFG how to simplify indirectbr instructions.  
						
						... 
						
						
						
						- Eliminate redundant successors.
 - Convert an indirectbr with one successor into a direct branch.
Also, generalize SimplifyCFG to be able to be run on a function entry block.
It knows quite a few simplifications which are applicable to the entry
block, and it only needs a few checks to avoid trouble with the entry block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-14 00:29:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						60493c3f4f 
					 
					
						
						
							
							Eliminate PromoteMemoryToRegisterID; just use addPreserved("mem2reg")  
						
						... 
						
						
						
						instead, as an example of what this looks like.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110478  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 21:48:06 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						90c579de5a 
					 
					
						
						
							
							Reapply r110396, with fixes to appease the Linux buildbot gods.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110460  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 18:33:48 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						1f74590e9d 
					 
					
						
						
							
							Revert r110396 to fix buildbots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-06 00:23:35 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						9ccaf53ada 
					 
					
						
						
							
							Don't use PassInfo* as a type identifier for passes.  Instead, use the address of the static  
						
						... 
						
						
						
						ID member as the sole unique type identifier.  Clean up APIs related to this change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110396  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-05 23:42:04 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						f5e13095fa 
					 
					
						
						
							
							simplify  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109589  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-28 15:52:43 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						86099345db 
					 
					
						
						
							
							simplify: CallSite::get --> CallSite constructor  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109506  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-27 15:02:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						052f000158 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109413  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-26 18:11:16 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						572365ec88 
					 
					
						
						
							
							Preserve ScalarEvolution in the loop unroller.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-26 18:02:06 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						de4e94a18c 
					 
					
						
						
							
							Revert this because we can't clone cyclic MDNodes which are creating during a  
						
						... 
						
						
						
						build of llvm-gcc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-24 20:54:02 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						fee12b2985 
					 
					
						
						
							
							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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109353  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-24 19:43:25 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						169c932759 
					 
					
						
						
							
							Speculatively revert 109117  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 18:44:00 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						481c4c0734 
					 
					
						
						
							
							keep in 80 cols  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109122  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 17:18:03 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						bd68d42843 
					 
					
						
						
							
							Map MDNode correctly.  
						
						... 
						
						
						
						A non function local MDNode can have an operand which is cloned by MapValue(). 
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109117  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 16:35:00 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						96f1d8ebdd 
					 
					
						
						
							
							mass elimination of reliance on automatic iterator dereferencing  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109103  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 13:36:47 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						20361b9d4d 
					 
					
						
						
							
							pass dereferenced iterator to dyn_cast  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109098  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 11:43:44 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a399781289 
					 
					
						
						
							
							undo 80 column trespassing I caused  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109092  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-22 10:37:47 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						17aa92c92a 
					 
					
						
						
							
							Make NamedMDNode not be a subclass of Value, and simplify the interface  
						
						... 
						
						
						
						for creating and populating NamedMDNodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109061  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-21 23:38:33 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d13db2c59c 
					 
					
						
						
							
							Fix batch of converting RegisterPass<> to INTIALIZE_PASS().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109045  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-21 22:09:45 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						333a94765a 
					 
					
						
						
							
							Use DebugLocs instead of MDNodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108967  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-20 23:49:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						7bc230ec6a 
					 
					
						
						
							
							Don't look up the "dbg" metadata kind by name.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108961  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-20 23:09:34 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						1e381fcd55 
					 
					
						
						
							
							Reorder the contents of various getAnalysisUsage functions, eliminating  
						
						... 
						
						
						
						a redundant loopsimplify run from the default -O2 sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 17:58:45 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a6aac4c5bc 
					 
					
						
						
							
							eliminate CallInst::ArgOffset  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-16 09:38:02 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						2722dfa75d 
					 
					
						
						
							
							Remove unneeded check, and correct style.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108427  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 16:38:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						35a939b97d 
					 
					
						
						
							
							make various clients of ReplaceAndSimplifyAllUses tolerate  
						
						... 
						
						
						
						it *changing* the things it replaces, not just causing them
to drop to null.  There is no functionality change yet, but 
this is required for a subsequent patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108414  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-15 06:06:04 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						e84178a0bd 
					 
					
						
						
							
							Extend SimplifyCFG's common-destination folding heuristic to allow a single  
						
						... 
						
						
						
						"bonus" instruction to be speculatively executed.  Add a heuristic to
ensure we're not tripping up out-of-order execution by checking that this bonus
instruction only uses values that were already guaranteed to be available.
This allows us to eliminate the short circuit in (x&1)&&(x&2).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108351  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-14 19:52:16 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						625398343e 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 10:59:23 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						f1b2874c68 
					 
					
						
						
							
							cache dereferenced iterators  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 10:49:54 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9085fcab82 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107984  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:31:08 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						bf2eefdb0d 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107983  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:26:41 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						e80ba4f884 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107981  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 16:17:52 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						7556cf541b 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107975  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:25:42 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						5896935423 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107974  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 15:25:09 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						a29742df5f 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107968  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:29:14 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						5417a03b55 
					 
					
						
						
							
							cache result of operator*  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107966  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:18:23 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						9672414017 
					 
					
						
						
							
							cache operator*'s result (in multiple functions)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107965  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 14:02:13 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						1192d4d0a5 
					 
					
						
						
							
							MDString is already checked earlier.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107516  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-02 21:13:23 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						7fa1bbad29 
					 
					
						
						
							
							lowerinvoke needs to handle aggregate function args like sjlj eh does.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107335  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-30 22:22:59 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						351cbac4d3 
					 
					
						
						
							
							use getArgOperand instead of getOperand  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107269  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-30 09:14:26 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						245e9c4834 
					 
					
						
						
							
							use CallInst::ArgOffset  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107003  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-28 12:30:07 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						f148cb6044 
					 
					
						
						
							
							use ArgOperand API and CallInst::ArgOffset  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107002  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-28 12:29:20 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						1784d160e4 
					 
					
						
						
							
							The hasMemory argument is irrelevant to how the argument  
						
						... 
						
						
						
						for an "i" constraint should get lowered; PR 6309.  While
this argument was passed around a lot, this is the only
place it was used, so it goes away from a lot of other
places.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106893  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-25 21:55:36 +00:00