Evan Cheng 
							
						 
					 
					
						
						
							
						
						9c777a4844 
					 
					
						
						
							
							Teach CodeGenPrep to look past bitcast when it's duplicating return instruction  
						
						... 
						
						
						
						into predecessor blocks to enable tail call optimization.
rdar://11958338
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@160894  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-07-27 21:21:26 +00:00 
						 
				 
			
				
					
						
							
							
								Eli Bendersky 
							
						 
					 
					
						
						
							
						
						ccaddf4708 
					 
					
						
						
							
							The name (and comment describing) of llvm::GetFirstDebuigLocInBasicBlock no longer represents what the function does. Therefore, the function is removed and its functionality is folded into the only place in the code-base where it was being used.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@159133  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-06-25 10:13:14 +00:00 
						 
				 
			
				
					
						
							
							
								David Blaikie 
							
						 
					 
					
						
						
							
						
						fdebc38523 
					 
					
						
						
							
							Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary)  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148284  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2012-01-17 04:43:56 +00:00 
						 
				 
			
				
					
						
							
							
								Jakub Staszak 
							
						 
					 
					
						
						
							
						
						2fac1d5d61 
					 
					
						
						
							
							SplitBlockPredecessors uses ArrayRef instead of Data and Size.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146277  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-12-09 21:19:53 +00:00 
						 
				 
			
				
					
						
							
							
								Rafael Espindola 
							
						 
					 
					
						
						
							
						
						605e2b5184 
					 
					
						
						
							
							Fix a crashing bug in SplitBlock when it is called on a block with no  
						
						... 
						
						
						
						dominator information even though dominators were previously computed.
Patch by Nick Sumner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138449  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-24 18:07:01 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						94657b964f 
					 
					
						
						
							
							If we're splitting the landing pad block and assigning it only one predecessor,  
						
						... 
						
						
						
						then don't split it a second time, since that block will be dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138153  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-19 23:46:30 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						7e8840c4d9 
					 
					
						
						
							
							Add SplitLandingPadPredecessors().  
						
						... 
						
						
						
						SplitLandingPadPredecessors is similar to SplitBlockPredecessors in that it
splits the current block and attaches a set of predecessors to the new basic
block. However, it differs from SplitBlockPredecessors in that it's specifically
designed to handle landing pad blocks.
Two new basic blocks are created: one that is has the vector of predecessors as
its predecessors and one that has the remaining predecessors as its
predecessors. Those two new blocks then receive a cloned copy of the landingpad
instruction from the original block. The landingpad instructions are joined in a
PHI, etc. Like SplitBlockPredecessors, it updates the LLVM IR, AliasAnalysis,
DominatorTree, DominanceFrontier, LoopInfo, and LCCSA analyses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138014  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-19 00:05:40 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						1c44d869cd 
					 
					
						
						
							
							Split out the updating of PHI nodes after splitting the BB into a separate  
						
						... 
						
						
						
						function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137979  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-18 20:51:04 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						9210e840dd 
					 
					
						
						
							
							Use this fantzy ArrayRef thing to pass in the list of predecessors.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137978  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-18 20:39:32 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						d4770144d4 
					 
					
						
						
							
							Use static instead of anonymous namespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137959  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-18 17:57:57 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						a644b33e8b 
					 
					
						
						
							
							Split out the analysis updating code into a helper function. No intended  
						
						... 
						
						
						
						functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137926  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-18 05:25:23 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						ab82fd9ff6 
					 
					
						
						
							
							Increment the insertion iterator to beyond the landingpad instruction.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137872  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-08-17 21:21:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						95c3e48f95 
					 
					
						
						
							
							Reinstate r133513 (reverted in r133700) with an additional fix for a  
						
						... 
						
						
						
						-Wshorten-64-to-32 warning in Instructions.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133708  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-23 09:09:15 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						e59fbc04ad 
					 
					
						
						
							
							Revert r133513:  
						
						... 
						
						
						
						"Reinstate r133435 and r133449 (reverted in r133499) now that the clang
self-hosted build failure has been fixed (r133512)."
Due to some additional warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133700  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-23 06:24:52 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						cd35e09a4a 
					 
					
						
						
							
							Reinstate r133435 and r133449 (reverted in r133499) now that the clang  
						
						... 
						
						
						
						self-hosted build failure has been fixed (r133512).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133513  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-21 10:33:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chad Rosier 
							
						 
					 
					
						
						
							
						
						a88a0ca808 
					 
					
						
						
							
							Revert r133435 and r133449 to appease buildbots.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133499  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-21 02:09:03 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						72f5f313d8 
					 
					
						
						
							
							Change how PHINodes store their operands.  
						
						... 
						
						
						
						Change PHINodes to store simple pointers to their incoming basic blocks,
instead of full-blown Uses.
Note that this loses an optimization in SplitCriticalEdge(), because we
can no longer walk the use list of a BasicBlock to find phi nodes. See
the comment I removed starting "However, the foreach loop is slow for
blocks with lots of predecessors".
Extend replaceAllUsesWith() on a BasicBlock to also update any phi
nodes in the block's successors. This mimics what would have happened
when PHINodes were proper Users of their incoming blocks. (Note that
this only works if OldBB->replaceAllUsesWith(NewBB) is called when
OldBB still has a terminator instruction, so it still has some
successors.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@133435  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-06-20 14:38:01 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						67352b3ce7 
					 
					
						
						
							
							Scanning entire basic block may be too expensive in terms of compile time. Instead, just use whatever location info first non-phi instruction has.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130729  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-05-02 21:57:00 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						40348e8d1f 
					 
					
						
						
							
							Assing line number info to new PHIs created by SSA updater.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@130551  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-04-29 22:28:59 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						3ecfc861b4 
					 
					
						
						
							
							Remove PHINode::reserveOperandSpace(). Instead, add a parameter to  
						
						... 
						
						
						
						PHINode::Create() giving the (known or expected) number of operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128537  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-30 11:28:46 +00:00 
						 
				 
			
				
					
						
							
							
								Jay Foad 
							
						 
					 
					
						
						
							
						
						d8b4fb4aab 
					 
					
						
						
							
							(Almost) always call reserveOperandSpace() on newly created PHINodes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128535  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-03-30 11:19:20 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c3f507f98a 
					 
					
						
						
							
							Re-apply r124518 with fix. Watch out for invalidated iterator.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124526  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-29 04:46:23 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b0a42fdb36 
					 
					
						
						
							
							Revert r124518. It broke Linux self-host.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124522  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-29 02:43:04 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						5e6940788f 
					 
					
						
						
							
							Re-commit r124462 with fixes. Tail recursion elim will now dup ret into unconditional predecessor to enable TCE on demand.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124518  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-29 01:29:26 +00:00 
						 
				 
			
				
					
						
							
							
								Cameron Zwarich 
							
						 
					 
					
						
						
							
						
						301278719b 
					 
					
						
						
							
							Remove code for updating dominance frontiers and some outdated references to  
						
						... 
						
						
						
						dominance and post-dominance frontiers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123725  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-18 04:11:31 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						fbbd4abfe5 
					 
					
						
						
							
							Fix a non-deterministic loop in llvm::MergeBlockIntoPredecessor.  
						
						... 
						
						
						
						DT->changeImmediateDominator() trivially ignores identity updates, so there is
really no need for the uniqueing provided by SmallPtrSet.
I expect this to fix PR8954.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123286  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-11 22:54:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b6810991a9 
					 
					
						
						
							
							when MergeBlockIntoPredecessor merges two blocks, update MemDep if it  
						
						... 
						
						
						
						is floating around in the ether.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123223  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-11 08:16:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b5b7997fd0 
					 
					
						
						
							
							Fix FoldSingleEntryPHINodes to update memdep and AA when it deletes  
						
						... 
						
						
						
						phi nodes.  It is called from MergeBlockIntoPredecessor which is 
called from GVN, which claims to preserve these.
I'm skeptical that this is the actual problem behind PR8954, but
this is a stab in the right direction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123222  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-11 08:13:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dc85f8ab80 
					 
					
						
						
							
							various code cleanups, enhance MergeBlockIntoPredecessor to preserve  
						
						... 
						
						
						
						loop info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123074  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-08 19:08:40 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b0433d4b2f 
					 
					
						
						
							
							reduce nesting.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123071  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-08 18:47:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9fc5cdf77c 
					 
					
						
						
							
							split dom frontier handling stuff out to its own DominanceFrontier header,  
						
						... 
						
						
						
						so that Dominators.h is *just* domtree.  Also prune #includes a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122714  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2011-01-02 22:09:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2112bbc42d 
					 
					
						
						
							
							remove the dead (and terrible) llvm::RemoveSuccessor function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121753  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-12-14 06:51:55 +00:00 
						 
				 
			
				
					
						
							
							
								Gabor Greif 
							
						 
					 
					
						
						
							
						
						e2d50046fd 
					 
					
						
						
							
							typoes  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113647  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-10 22:25:58 +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 
						 
				 
			
				
					
						
							
							
								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 
							
						 
					 
					
						
						
							
						
						dd9344f3fa 
					 
					
						
						
							
							Move FindAvailableLoadedValue isSafeToLoadUnconditionally out of  
						
						... 
						
						
						
						lib/Transforms/Utils and into lib/Analysis so that Analysis passes
can use them.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104949  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-28 16:19:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0f1666b480 
					 
					
						
						
							
							Code clean up.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100467  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-05 21:16:25 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						ae23daf63a 
					 
					
						
						
							
							Rename SuccessorNumber to GetSuccessorNumber.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96387  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-16 21:06:42 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						adb6f22671 
					 
					
						
						
							
							Refactor to share code to find the position of a basic block successor in the  
						
						... 
						
						
						
						terminator's list of successors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96377  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-16 19:49:17 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						edd7966809 
					 
					
						
						
							
							No need to look through bitcasts for DbgInfoIntrinsic  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94114  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-21 23:09:12 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						90fe0bd68c 
					 
					
						
						
							
							Make RecursivelyDeleteTriviallyDeadInstructions,  
						
						... 
						
						
						
						RecursivelyDeleteDeadPHINode, and DeleteDeadPHIs return a flag
indicating whether they made any changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92732  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 15:45:31 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						f012705c7e 
					 
					
						
						
							
							Avoid going through the LLVMContext for type equality where it's safe to dereference the type pointer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92726  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 13:12:22 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						44a29e066a 
					 
					
						
						
							
							Remove dead debug info intrinsics.  
						
						... 
						
						
						
						Intrinsic::dbg_stoppoint
 Intrinsic::dbg_region_start 
 Intrinsic::dbg_region_end 
 Intrinsic::dbg_func_start
AutoUpgrade simply ignores these intrinsics now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92557  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 01:10:40 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						87f8e49027 
					 
					
						
						
							
							Remove unnecessary #include "llvm/LLVMContext.h".  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90836  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-08 05:45:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b8eb17c807 
					 
					
						
						
							
							Add an assertion to catch indirectbr in SplitBlockPredecessors. This  
						
						... 
						
						
						
						makes several optimization passes abort in cases where they're currently
silently miscompiling code.
Remove the indirectbr assertion from SplitEdge. Indirectbr is only
a problem for critical edges, and SplitEdge defers to SplitCriticalEdge
to handle those, and SplitCriticalEdge has its own assertion for
indirectbr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86147  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 18:25:44 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						882029269e 
					 
					
						
						
							
							change llvm::MergeBlockIntoPredecessor to not merge two blocks BB1->BB2  
						
						... 
						
						
						
						when BB2 has its address taken.  Since it ends up doing BB2->rauw(BB1),
this can cause the address of the entry block to be taken.  Since it is
generally undesirable to nuke blocks whose address is taken, even when
we can, just unconditionally stop this xform.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85708  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-01 04:57:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a4b04210d4 
					 
					
						
						
							
							llvm::SplitEdge should refuse to split an edge from an indirectbr.  
						
						... 
						
						
						
						Fix CodeGenPrepare to not try to split edges from indirectbr.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85690  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-31 22:04:43 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						438b583dbd 
					 
					
						
						
							
							Revert r85667. LoopUnroll currently can't call utility functions which  
						
						... 
						
						
						
						auto-update the DominatorTree because it doesn't keep the DominatorTree
current while it works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85670  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-31 17:33:01 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						dca094100b 
					 
					
						
						
							
							Remove redundant code.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85668  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-31 16:16:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f230d8ad15 
					 
					
						
						
							
							Merge the enhancements from LoopUnroll's FoldBlockIntoPredecessor into  
						
						... 
						
						
						
						MergeBlockIntoPredecessor. This makes SimplifyCFG slightly more aggressive,
and makes it unnecessary for LoopUnroll to have its own copy of this code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-31 16:08:00 +00:00