Bob Wilson 
							
						 
					 
					
						
						
							
						
						60df9077eb 
					 
					
						
						
							
							Remove unused "NoPRE" parameter in GVN and createGVNPass().  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97235  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-26 18:35:19 +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 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						d2592ff69b 
					 
					
						
						
							
							Pull these back out, they're a little too aggressive and time  
						
						... 
						
						
						
						consuming for a simple optimization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95671  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-09 17:29:18 +00:00 
						 
				 
			
				
					
						
							
							
								Eric Christopher 
							
						 
					 
					
						
						
							
						
						1926b648e1 
					 
					
						
						
							
							Add a new pass to do llvm.objsize lowering using SCEV.  
						
						... 
						
						
						
						Initial skeleton and SCEVUnknown lowering implemented,
the rest should come relatively quickly.  Move testcase
to new directory.
Move pass to right before SimplifyLibCalls - which is
moved down a bit so we can take advantage of a few opts.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95628  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-09 00:35:38 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						570a4a5d9c 
					 
					
						
						
							
							Reintroduce the InlineHint function attribute.  
						
						... 
						
						
						
						This time it's for real! I am going to hook this up in the frontends as well.
The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.
We need some experiments to determine if that is the right thing to do.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-06 01:16:28 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						58e9ee85fd 
					 
					
						
						
							
							Teach SimplifyCFG about magic pointer constants.  
						
						... 
						
						
						
						Weird code sometimes uses pointer constants other than null. This patch
teaches SimplifyCFG to build switch instructions in those cases.
Code like this:
void f(const char *x) {
  if (!x)
    puts("null");
  else if ((uintptr_t)x == 1)
    puts("one");
  else if (x == (char*)2 || x == (char*)3)
    puts("two");
  else if ((intptr_t)x == 4)
    puts("four");
  else
    puts(x);
}
Now becomes a switch:
define void @f(i8* %x) nounwind ssp {
entry:
  %magicptr23 = ptrtoint i8* %x to i64            ; <i64> [#uses=1]
  switch i64 %magicptr23, label %if.else16 [
    i64 0, label %if.then
    i64 1, label %if.then2
    i64 2, label %if.then9
    i64 3, label %if.then9
    i64 4, label %if.then14
  ]
Note that LLVM's own DenseMap uses magic pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95439  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-02-05 22:03:18 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						49db68fba0 
					 
					
						
						
							
							Check alignment of loads when deciding whether it is safe to execute them  
						
						... 
						
						
						
						unconditionally.  Besides checking the offset, also check that the underlying
object is aligned as much as the load itself.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94875  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-30 04:42:39 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						3eb4f7e2dd 
					 
					
						
						
							
							Improve isSafeToLoadUnconditionally to recognize that GEPs with constant  
						
						... 
						
						
						
						indices are safe if the result is known to be within the bounds of the
underlying object.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94829  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-29 19:19:08 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						5deb57c685 
					 
					
						
						
							
							Don't bother with sprintf, just pass the Twine through.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94684  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-27 19:58:47 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						6c146eefbf 
					 
					
						
						
							
							DbgInfoIntrinsics no longer appear in an instruction's use list; so clean up looking for them in use iterations and remove OnlyUsedByDbgInfoIntrinsics()  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94111  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-21 23:05:53 +00:00 
						 
				 
			
				
					
						
							
							
								Jakob Stoklund Olesen 
							
						 
					 
					
						
						
							
						
						f8526cb711 
					 
					
						
						
							
							Move per-function inline threshold calculation to a method.  
						
						... 
						
						
						
						No functional change except the forgotten test for
InlineLimit.getNumOccurrences() == 0 in the CurrentThreshold2 calculation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94007  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-20 17:51:28 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e234a30a28 
					 
					
						
						
							
							add a helper function.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93251  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-12 19:40:54 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						43fd9017a6 
					 
					
						
						
							
							convert various IntrinsicInst's to use class instead of struct.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92681  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-05 05:21:26 +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 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5fadf17709 
					 
					
						
						
							
							remove the random sampling framework, which is not maintained anymore.  
						
						... 
						
						
						
						If there is interest, it can be resurrected from SVN.  PR4912.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92422  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-01-02 20:07:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a25bc44663 
					 
					
						
						
							
							comment fix: weakvh -> tracking vh  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91867  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-22 00:51:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						43ea505fb0 
					 
					
						
						
							
							Eliminate unnecessary LLVMContexts.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91729  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-12-18 23:42:08 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						ce2c51b670 
					 
					
						
						
							
							Pull LLVMContext out of PromoteMemToReg.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89645  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-23 03:50:44 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						20f4d34fe3 
					 
					
						
						
							
							Make EliminateDuplicatePHINodes() available as a utility function  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89297  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-19 02:02:10 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4ec01b268e 
					 
					
						
						
							
							Add an option for running GVN with redundant load processing disabled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@88742  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-14 02:27:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f8fb7c26ee 
					 
					
						
						
							
							remove the now dead condprop pass, PR3906.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86810  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-11 05:56:35 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						53bb5c95af 
					 
					
						
						
							
							Implement support to debug inlined functions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86748  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 23:06:00 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						40d8c28b27 
					 
					
						
						
							
							move some generally useful functions out of jump threading  
						
						... 
						
						
						
						into libanalysis and transformutils.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86735  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 22:26:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						dce94d92df 
					 
					
						
						
							
							refactor TryToSimplifyUncondBranchFromEmptyBlock out of SimplifyCFG.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86666  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-10 05:59:26 +00:00 
						 
				 
			
				
					
						
							
							
								Douglas Gregor 
							
						 
					 
					
						
						
							
						
						0c8ae782cb 
					 
					
						
						
							
							Make a few more LLVM headers parsable as standalone headers.  
						
						... 
						
						
						
						Fix some problems with the hidden copy constructors for
ImmutableMap/ImmutableSet found by Clang++.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86186  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-05 23:01:30 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						857e9996c7 
					 
					
						
						
							
							Improve the other instance of the comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85733  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-11-01 19:16:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1b98ff3e4f 
					 
					
						
						
							
							update the comment above llvm::SplitCriticalEdge, and make  
						
						... 
						
						
						
						it abort on IndirectBrInst as describe in the comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85688  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-31 21:51:10 +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 
							
						 
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						9f476e3179 
					 
					
						
						
							
							Remove CodeGenLICM. It's largely obsoleted by MachineLICM's new ability  
						
						... 
						
						
						
						to unfold loop-invariant loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85657  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-31 14:35:41 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2f192c256c 
					 
					
						
						
							
							Add option to createGVNPass to disable PRE.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85609  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-30 20:12:24 +00:00 
						 
				 
			
				
					
						
							
							
								Nick Lewycky 
							
						 
					 
					
						
						
							
						
						40cc524ede 
					 
					
						
						
							
							Add ABCD, a generalized implementation of the Elimination of Array Bounds  
						
						... 
						
						
						
						Checks on Demand algorithm which looks at arbitrary branches instead of loop
iterations. This is GSoC work by Andre Tavares with only editorial changes
applied!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85382  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-28 07:03:15 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						8b251c25b2 
					 
					
						
						
							
							Forgot to commit these.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85180  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 23:56:52 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						046e78ce55 
					 
					
						
						
							
							Remove FreeInst.  
						
						... 
						
						
						
						Remove LowerAllocations pass.
Update some more passes to treate free calls just like they were treating FreeInst.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85176  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 23:43:48 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						6000e253d4 
					 
					
						
						
							
							Check in the experimental GEP splitter pass. This pass splits complex  
						
						... 
						
						
						
						GEPs (more than one non-zero index) into simple GEPs (at most one
non-zero index).  In some simple experiments using this it's not
uncommon to see 3% overall code size wins, because it exposes
redundancies that can be eliminated, however it's tricky to use
because instcombine aggressively undoes the work that this pass does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85144  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-26 19:12:14 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						5fa75b0fa4 
					 
					
						
						
							
							MapValue doesn't needs its LLVMContext argument.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85020  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-24 23:37:16 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						bfd5e3d7b1 
					 
					
						
						
							
							Add an explicit keyword.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85009  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-24 19:56:23 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						66284e063a 
					 
					
						
						
							
							Auto-upgrade free instructions to calls to the builtin free function.  
						
						... 
						
						
						
						Update all analysis passes and transforms to treat free calls just like FreeInst.
Remove RaiseAllocations and all its tests since FreeInst no longer needs to be raised.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84987  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-24 04:23:03 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						98b532cf33 
					 
					
						
						
							
							remove the IndMemRemPass, which only made sense for when malloc/free were intrinsic  
						
						... 
						
						
						
						instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84404  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-18 05:02:09 +00:00 
						 
				 
			
				
					
						
							
							
								Victor Hernandez 
							
						 
					 
					
						
						
							
						
						a276c603b8 
					 
					
						
						
							
							Remove MallocInst from LLVM Instructions.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84299  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-17 01:18:07 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						ed90342d8a 
					 
					
						
						
							
							Strip trailing white space.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84256  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-16 15:20:13 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e4aeec003f 
					 
					
						
						
							
							Move the InlineCost code from Transforms/Utils to Analysis.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83998  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 18:30:07 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						9b39cf5ac8 
					 
					
						
						
							
							Start refactoring the inline cost estimation code so that it can be used  
						
						... 
						
						
						
						for purposes other than inlining.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83997  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-13 18:24:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0bef562ea2 
					 
					
						
						
							
							add a simple helper method.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83745  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-10 23:41:48 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f5a1fb6b24 
					 
					
						
						
							
							add ability for clients of SSAUpdater to find out about the  
						
						... 
						
						
						
						PHI nodes inserted.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83744  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-10 23:15:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1a8d4de397 
					 
					
						
						
							
							add the ability to get a rewritten value from the middle of a block,  
						
						... 
						
						
						
						not just at the end.  Add a big comment explaining when this could
be useful (which never happens for jump threading).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83741  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-10 23:00:11 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5fb107287f 
					 
					
						
						
							
							rename GetValueInBlock -> GetValueAtEndOfBlock to better reflect  
						
						... 
						
						
						
						what it does.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83740  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-10 22:41:58 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						93f3bcf7f3 
					 
					
						
						
							
							Implement an efficient and fully general SSA update mechanism that  
						
						... 
						
						
						
						works on unstructured CFGs.  This implements PR217, our oldest open PR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83705  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-10-10 09:04:27 +00:00