Owen Anderson 
							
						 
					 
					
						
						
							
						
						1e35610f20 
					 
					
						
						
							
							Fixes and cleanups pointed out by Chris.  In general, be careful to handle 0 results from ComputeValueKnownInPredecessors  
						
						 
						
						... 
						
						
						
						(indicating undef), and re-use existing constant folding APIs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112539  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-30 22:07:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4455608818 
					 
					
						
						
							
							rewrite DwarfEHPrepare to use SSAUpdater to promote its allocas  
						
						 
						
						... 
						
						
						
						instead of PromoteMemToReg.  This allows it to stop using DF and DT,
eliminating a computation of DT and DF from clang -O3.  Clang is now
down to 2 runs of DomFrontier.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112457  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 19:54:28 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cb7f653422 
					 
					
						
						
							
							two changes: 1) make AliasSet hold the list of call sites with an  
						
						 
						
						... 
						
						
						
						assertingvh so we get a violent explosion if the pointer dangles.
2) Fix AliasSetTracker::deleteValue to remove call sites with
   by-pointer comparisons instead of by-alias queries.  Using
   findAliasSetForCallSite can cause alias sets to get merged
   when they shouldn't, and can also miss alias sets when the
   call is readonly.
#2  fixes PR6889, which only repros with a .c file :(
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112452  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 18:42:23 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0de5cad74d 
					 
					
						
						
							
							LICM does get dead instructions input to it. Instead of sinking them  
						
						 
						
						... 
						
						
						
						out of loops, just delete them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112451  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 18:22:25 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d9a5daeb77 
					 
					
						
						
							
							use moveBefore instead of remove+insert, it avoids some  
						
						 
						
						... 
						
						
						
						symtab manipulation, so its faster (in addition to being
more elegant)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112450  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 18:18:40 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1b9c848d0a 
					 
					
						
						
							
							revert 112448 for now.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 18:11:16 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bb07ed3bb5 
					 
					
						
						
							
							optimize LICM::hoist to use moveBefore.  Correct its updating  
						
						 
						
						... 
						
						
						
						of AST to remove the hoisted instruction from the AST, since it
is no longer in the loop.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112448  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 18:03:33 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						98917503c7 
					 
					
						
						
							
							fix some bugs (found by inspection) where LICM would not update  
						
						 
						
						... 
						
						
						
						LICM correctly.  When sinking an instruction, it should not add
entries for the sunk instruction to the AST, it should remove
the entry for the sunk instruction.  The blocks being sunk to
are not in the loop, so their instructions shouldn't be in the
AST (yet)!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112447  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 18:00:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						4282e32712 
					 
					
						
						
							
							rework the ownership of subloop alias information: instead of  
						
						 
						
						... 
						
						
						
						keeping them around until the pass is destroyed, keep them
around a) just when useful (not for outer loops) and b) destroy
them right after we use them.  This should reduce memory use
and fixes potential bugs where a loop is deleted and another
loop gets allocated to the same address.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112446  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 17:46:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ea1092374c 
					 
					
						
						
							
							apparently unswitch had the same "Feature".  Stop its  
						
						 
						
						... 
						
						
						
						claims that it preserves domfrontier if it doesn't really.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112445  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 17:23:19 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						937790195e 
					 
					
						
						
							
							now that loop passes don't use DomFrontier, there is no reason  
						
						 
						
						... 
						
						
						
						for the unroller to pretend it supports updating it.  It still
has a horrible hack for DomTree.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112444  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 17:21:35 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4f7e18dee3 
					 
					
						
						
							
							Optionally rerun dedicated-register filtering after applying  
						
						 
						
						... 
						
						
						
						other filtering techniques, as those may allow it to filter
out more obviously unprofitable candidates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112441  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 16:39:22 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						25608f7f4b 
					 
					
						
						
							
							Fix several areas in LSR to do a better job keeping the main  
						
						 
						
						... 
						
						
						
						LSRInstance data structures up to date. This fixes some
pessimizations caused by stale data which will be exposed
in an upcoming change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112440  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 16:32:54 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4aa5c2e90f 
					 
					
						
						
							
							Refactor the three main groups of code out of  
						
						 
						
						... 
						
						
						
						NarrowSearchSpaceUsingHeuristics into separate functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112439  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 16:09:42 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e39a47c5b3 
					 
					
						
						
							
							Delete a bogus check.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112438  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 15:30:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6a83271532 
					 
					
						
						
							
							Add some comments.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 15:27:08 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3902f9fca8 
					 
					
						
						
							
							Move this debug output into GenerateAllReuseFormula, to declutter  
						
						 
						
						... 
						
						
						
						the high-level logic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112436  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 15:21:38 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a7d0d64b7a 
					 
					
						
						
							
							Delete an unused declaration.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112435  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 15:19:11 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						46fd7a6ef8 
					 
					
						
						
							
							Do one lookup instead of two.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112434  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 15:18:49 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e418ac832c 
					 
					
						
						
							
							licm preserves the cfg, it doesn't have to explicitly say it  
						
						 
						
						... 
						
						
						
						preserves domfrontier.  It does preserve AA though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 07:02:56 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						44e2bd31f1 
					 
					
						
						
							
							now that it doesn't use the PromoteMemToReg function, LICM doesn't  
						
						 
						
						... 
						
						
						
						require DomFrontier.  Dropping this doesn't actually save any runs
of the pass though.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112418  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 06:49:44 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e488064922 
					 
					
						
						
							
							completely rewrite the memory promotion algorithm in LICM.  
						
						 
						
						... 
						
						
						
						Among other things, this uses SSAUpdater instead of 
PromoteMemToReg.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112417  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 06:43:52 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						63a75c13b1 
					 
					
						
						
							
							use getUniqueExitBlocks instead of a manual set.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112412  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 05:12:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a6a36f59b4 
					 
					
						
						
							
							reimplement LICM::sink to use SSAUpdater instead of PromoteMemToReg.  
						
						 
						
						... 
						
						
						
						This leads to much simpler code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 04:55:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						abd2a75900 
					 
					
						
						
							
							remove dead proto  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112408  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 04:53:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d7bc19dfee 
					 
					
						
						
							
							reduce indentation in LICM::sink by using early exits, use  
						
						 
						
						... 
						
						
						
						getUniqueExitBlocks instead of getExitBlocks and a manual
set to eliminate dupes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112405  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 04:28:20 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dc1ceb370a 
					 
					
						
						
							
							modernize this pass a bit: use efficient set/map and reduce indentation.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112404  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-29 04:23:04 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5f88af5376 
					 
					
						
						
							
							remove the ABCD and SSI passes.  They don't have any clients that  
						
						 
						
						... 
						
						
						
						I'm aware of, aren't maintained, and LVI will be replacing their value.
nlewycky approved this on irc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112355  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-28 03:51:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b188a3789e 
					 
					
						
						
							
							squish dead code.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112350  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-28 03:21:03 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						6cfabc7974 
					 
					
						
						
							
							Update CMake build. Add newline at end of file.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112332  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-28 00:11:12 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						a0b59f6bd2 
					 
					
						
						
							
							Add a prototype of a new peephole optimizing pass that uses LazyValue info to simplify PHIs and select's.  
						
						 
						
						... 
						
						
						
						This pass addresses the missed optimizations from PR2581 and PR4420.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112325  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-27 23:31:36 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						fc2fb17fb7 
					 
					
						
						
							
							Fix typos in comments.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112286  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-27 20:32:56 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						660cab32fe 
					 
					
						
						
							
							Use LVI to eliminate conditional branches where we've tested a related condition previously.  Update tests for this change.  
						
						 
						
						... 
						
						
						
						This fixes PR5652.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112270  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-27 17:12:29 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						62efd3b385 
					 
					
						
						
							
							Make JumpThreading smart enough to properly thread StrSwitch when it's compiled with clang++.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112198  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-26 17:40:24 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						aafe626c7f 
					 
					
						
						
							
							remove some llvmcontext arguments that are now dead post-refactoring.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112104  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-25 23:00:45 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						53c36c41ae 
					 
					
						
						
							
							Turn LVI on, previously detected failures should be fixed now.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111923  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-24 17:21:18 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						b6ad691ad7 
					 
					
						
						
							
							Turn LVI back off, I have a testcase now.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111834  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-23 19:59:27 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0e2c359a3e 
					 
					
						
						
							
							Re-enable LazyValueInfo.  Monitoring for failures.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111816  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-23 18:12:23 +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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						684d8d5b50 
					 
					
						
						
							
							Disable LVI while I evaluate a failure.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111551  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-19 19:47:08 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						f2d197b77a 
					 
					
						
						
							
							Tentatively enabled LVI by default.  I'll be monitoring for any failures.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111543  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-19 19:04:40 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						694a15eabe 
					 
					
						
						
							
							Process the step before the start, because it's usually the simpler  
						
						 
						
						... 
						
						
						
						of the two.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111495  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-19 01:02:31 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						00ac77ef88 
					 
					
						
						
							
							Inform LazyValueInfo whenever a block is deleted, to avoid dangling pointer issues.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 18:39:01 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2fa7b48eb5 
					 
					
						
						
							
							Fix PR7755: knowing something about an inval for a pred  
						
						 
						
						... 
						
						
						
						from the LHS should disable reconsidering that pred on the
RHS.  However, knowing something about the pred on the RHS
shouldn't disable subsequent additions on the RHS from
happening.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111349  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 03:14:36 +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  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3126f1c028 
					 
					
						
						
							
							remove dead prototype.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111342  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-18 02:37:06 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						fc8042a122 
					 
					
						
						
							
							When rotating loops, put the original header at the bottom of the  
						
						 
						
						... 
						
						
						
						loop, making the resulting loop significantly less ugly.  Also, zap
its trivial PHI nodes, since it's easy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111255  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-17 17:39:21 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e1bcb440dc 
					 
					
						
						
							
							Add an option to disable codegen prepare critical edge splitting. In theory, PHI elimination is already doing all (most?) of the splitting needed. But machine-licm and machine-sink seem to miss some important optimizations when splitting is disabled.  
						
						 
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111224  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-17 01:34:49 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3e22b7c916 
					 
					
						
						
							
							Instead of having CollectSubexpr's categorize operands as interesting or  
						
						 
						
						... 
						
						
						
						uninteresting, just put all the operands on one list and make
GenerateReassociations make the decision about what's interesting.
This is simpler, and it avoids an extra ScalarEvolution::getAddExpr call.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 15:50:00 +00:00  
					
					
						 
						
						
							
							
							 
							
							
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4065f60912 
					 
					
						
						
							
							Put add operands in ScalarEvolution-canonical order, when convenient.  
						
						 
						
						... 
						
						
						
						This isn't necessary, because ScalarEvolution sorts them anyway,
but it's tidier this way.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111132  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-08-16 15:39:27 +00:00