Mike Stump 
							
						 
					 
					
						
						
							
						
						fe095f39e7 
					 
					
						
						
							
							Restore minor deletion.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70892  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-05-04 18:40:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						6b23339502 
					 
					
						
						
							
							Fix a debug info dependency in jump threading.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67064  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-17 00:38:24 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						0070ce511e 
					 
					
						
						
							
							this wasn't intended to go in.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66252  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-06 05:42:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						cc14d25dd9 
					 
					
						
						
							
							Change various llvm utilities to use PrettyStackTraceProgram in  
						
						... 
						
						
						
						their main routines.  This makes the tools print their argc/argv
commands if they crash.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66248  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-03-06 05:34:10 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2c7ed11d93 
					 
					
						
						
							
							Fix PR3353, infinitely jump threading an infinite loop make from switches.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@62529  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-19 21:20:34 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2a99b482a6 
					 
					
						
						
							
							Fix PR3298, a crash in Jump Threading.  Apparently even  
						
						... 
						
						
						
						jump threading can have bugs, who knew? ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61983  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2009-01-09 06:08:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						20fa76ef6f 
					 
					
						
						
							
							remove DebugIterations option.  Despite the accusations,  
						
						... 
						
						
						
						jump threading has been shown to only expose problems not
have bugs itself.  I'm sure it's completely bug free! ;-)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60725  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-08 22:44:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3cda3cdab1 
					 
					
						
						
							
							Start simplifying a switch that has a successor that is a switch.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60534  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-04 06:31:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						77ee977fcf 
					 
					
						
						
							
							add a debugging option to help track down j-t problems.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60514  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-04 00:07:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						421fa9e32e 
					 
					
						
						
							
							Teach jump threading some more simple tricks:  
						
						... 
						
						
						
						1) have it fold "br undef", which does occur with
   surprising frequency as jump threading iterates.
2) teach j-t to delete dead blocks.  This removes the successor
   edges, reducing the in-edges of other blocks, allowing 
   recursive simplification.
3) Fold things like:
     br COND, BBX, BBY
  BBX:
     br COND, BBZ, BBW
   which also happens because jump threading iterates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60470  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-03 07:48:08 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a3522000ab 
					 
					
						
						
							
							switch a couple more calls to use array_pod_sort.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60337  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-01 06:52:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ef0c6744d5 
					 
					
						
						
							
							Teach jump threading to clean up after itself, DCE and constfolding the  
						
						... 
						
						
						
						new instructions it simplifies.  Because we're threading jumps on edges
with constants coming in from PHI's, we inherently are exposing a lot more
constants to the new block.  Folding them and deleting dead conditions
allows the cost model in jump threading to be more accurate as it iterates.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60327  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-12-01 04:48:07 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f5102a0f08 
					 
					
						
						
							
							don't call MergeBasicBlockIntoOnlyPred on a block whose only  
						
						... 
						
						
						
						predecessor is itself.  This doesn't make sense, and this is
a dead infinite loop anyway.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60210  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-28 19:54:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3d86d242c6 
					 
					
						
						
							
							Fix PR3138: if we merge the entry block into another block, make sure to  
						
						... 
						
						
						
						move the other block back up into the entry position!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60179  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-27 19:25:19 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						52c95856b4 
					 
					
						
						
							
							move FindAvailableLoadedValue from JumpThreading to Transforms/Utils.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60166  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-27 08:10:05 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						b29714a10a 
					 
					
						
						
							
							move MergeBasicBlockIntoOnlyPred to Transforms/Utils.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60162  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-27 07:43:12 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c7bcbf6903 
					 
					
						
						
							
							rename ThreadBlock to ProcessBlock, since it does other things than  
						
						... 
						
						
						
						just simple threading.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60157  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-27 07:20:04 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						69e067fdd8 
					 
					
						
						
							
							Make jump threading substantially more powerful, in the following ways:  
						
						... 
						
						
						
						1. Make it fold blocks separated by an unconditional branch.  This enables
   jump threading to see a broader scope.
2. Make jump threading able to eliminate locally redundant loads when they
   feed the branch condition of a block.  This frequently occurs due to
   reg2mem running.
3. Make jump threading able to eliminate *partially redundant* loads when
   they feed the branch condition of a block.  This is common in code with
   lots of loads and stores like C++ code and 255.vortex.
This implements thread-loads.ll and rdar://6402033.
Per the fixme's, several pieces of this should be moved into Transforms/Utils.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60148  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-11-27 05:07:53 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ae73dc1448 
					 
					
						
						
							
							Tidy up several unbeseeming casts from pointer to intptr_t.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55779  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-09-04 17:05:41 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						fc74abfba5 
					 
					
						
						
							
							Enable first-class aggregates support.  
						
						... 
						
						
						
						Remove the GetResultInst instruction. It is still accepted in LLVM assembly
and bitcode, where it is now auto-upgraded to ExtractValueInst. Also, remove
support for return instructions with multiple values. These are auto-upgraded
to use InsertValueInst instructions.
The IRBuilder still accepts multiple-value returns, and auto-upgrades them
to InsertValueInst instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53941  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-07-23 00:34:11 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						43e2a03530 
					 
					
						
						
							
							Fix some constructs that gcc-4.4 warns about.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51591  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-27 11:50:51 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						02dea8b39f 
					 
					
						
						
							
							Tidy up BasicBlock::getFirstNonPHI, and change a bunch of places to  
						
						... 
						
						
						
						use it instead of duplicating its functionality.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51499  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-23 21:05:58 +00:00 
						 
				 
			
				
					
						
							
							
								Matthijs Kooijman 
							
						 
					 
					
						
						
							
						
						6e7b322d36 
					 
					
						
						
							
							Fix typo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51303  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-20 07:26:45 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						844731a7f1 
					 
					
						
						
							
							Clean up the use of static and anonymous namespaces. This turned up  
						
						... 
						
						
						
						several things that were neither in an anonymous namespace nor static
but not intended to be global.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51017  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-13 00:00:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						94019f8e06 
					 
					
						
						
							
							restore doxygen comment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50881  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-09 04:43:13 +00:00 
						 
				 
			
				
					
						
							
							
								Gordon Henriksen 
							
						 
					 
					
						
						
							
						
						a8a118b68f 
					 
					
						
						
							
							Improve pass documentation and comments.  
						
						... 
						
						
						
						Patch by Matthijs Kooijman!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50861  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-08 17:46:35 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						9b34849a6b 
					 
					
						
						
							
							fix typo Duncan noticed  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50699  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-06 02:31:18 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8554cc2ea7 
					 
					
						
						
							
							Fix a crash when threading a block that includes a MRV call result.  
						
						... 
						
						
						
						DemoteRegToStack doesn't work with MRVs yet, because it relies on the
ability to load/store things.
This fixes PR2285.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50667  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-05-05 20:21:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						eede65ce6c 
					 
					
						
						
							
							Don't infininitely thread branches when a threaded edge  
						
						... 
						
						
						
						goes back to the block, e.g.:
  Threading edge through bool from 'bb37.us.thread3829' to 'bb37.us' with cost: 1, across block:
bb37.us:		; preds = %bb37.us.thread3829, %bb37.us, %bb33
	%D1361.1.us = phi i32 [ %tmp36, %bb33 ], [ %D1361.1.us, %bb37.us ], [ 0, %bb37.us.thread3829 ]		; <i32> [#uses=2]
	%tmp39.us = icmp eq i32 %D1361.1.us, 0		; <i1> [#uses=1]
	br i1 %tmp39.us, label %bb37.us, label %bb42.us
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50251  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-25 04:12:29 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						a5ddb59a13 
					 
					
						
						
							
							Start doing the significantly useful part of jump threading: handle cases  
						
						... 
						
						
						
						where a comparison has a phi input and that phi is a constant.  For example,
stuff like:
  Threading edge through bool from 'bb2149' to 'bb2231' with cost: 1, across block:
bb2237:		; preds = %bb2231, %bb2149
	%tmp2328.rle = phi i32 [ %tmp2232, %bb2231 ], [ %tmp2232439, %bb2149 ]		; <i32> [#uses=2]
	%done.0 = phi i32 [ %done.2, %bb2231 ], [ 0, %bb2149 ]		; <i32> [#uses=1]
	%tmp2239 = icmp eq i32 %done.0, 0		; <i1> [#uses=1]
	br i1 %tmp2239, label %bb2231, label %bb2327
or
bb38.i298:		; preds = %bb33.i295, %bb1693
	%tmp39.i296.rle = phi %struct.ibox* [ null, %bb1693 ], [ %tmp39.i296.rle1109, %bb33.i295 ]		; <%struct.ibox*> [#uses=2]
	%minspan.1.i291.reg2mem.1 = phi i32 [ 32000, %bb1693 ], [ %minspan.0.i288, %bb33.i295 ]		; <i32> [#uses=1]
	%tmp40.i297 = icmp eq %struct.ibox* %tmp39.i296.rle, null		; <i1> [#uses=1]
	br i1 %tmp40.i297, label %implfeeds.exit311, label %bb43.i301
This triggers thousands of times in spec.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50110  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-22 21:40:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ae65b3c791 
					 
					
						
						
							
							Dig through multiple levels of AND to thread jumps if needed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50106  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-22 20:46:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6bf77500c6 
					 
					
						
						
							
							Teach jump threading to thread through blocks like:  
						
						... 
						
						
						
						br (and X, phi(Y, Z, false)), label L1, label L2
This triggers once on 252.eon and 6 times on 176.gcc.  Blocks 
in question often look like this:
bb262:		; preds = %bb261, %bb248
	%iftmp.251.0 = phi i1 [ true, %bb261 ], [ false, %bb248 ]		; <i1> [#uses=4]
	%tmp270 = icmp eq %struct.rtx_def* %tmp.0.i, null		; <i1> [#uses=1]
	%bothcond = or i1 %iftmp.251.0, %tmp270		; <i1> [#uses=1]
	br i1 %bothcond, label %bb288, label %bb273
In this case, it is clear that it doesn't matter if tmp.0.i is null when coming from bb261.  When coming from bb248, it is all that matters.
Another random example:
check_asm_operands.exit:		; preds = %check_asm_operands.exit.thr_comm, %bb30.i, %bb12.i, %bb6.i413
	%tmp.0.i420 = phi i1 [ true, %bb6.i413 ], [ true, %bb12.i ], [ true, %bb30.i ], [ false, %check_asm_operands.exit.thr_comm ; <i1> [#uses=1]
	call void @llvm.stackrestore( i8* %savedstack ) nounwind 
	%tmp4389 = icmp eq i32 %added_sets_1.0, 0		; <i1> [#uses=1]
	%tmp4394 = icmp eq i32 %added_sets_2.0, 0		; <i1> [#uses=1]
	%bothcond80 = and i1 %tmp4389, %tmp4394		; <i1> [#uses=1]
	%bothcond81 = and i1 %bothcond80, %tmp.0.i420		; <i1> [#uses=1]
	br i1 %bothcond81, label %bb4398, label %bb4397
Here is the case from 252.eon:
bb290.i.i:		; preds = %bb23.i57.i.i, %bb8.i39.i.i, %bb100.i.i, %bb100.i.i, %bb85.i.i110
	%myEOF.1.i.i = phi i1 [ true, %bb100.i.i ], [ true, %bb100.i.i ], [ true, %bb85.i.i110 ], [ true, %bb8.i39.i.i ], [ false, %bb23.i57.i.i ]		; <i1> [#uses=2]
	%i.4.i.i = phi i32 [ %i.1.i.i, %bb85.i.i110 ], [ %i.0.i.i, %bb100.i.i ], [ %i.0.i.i, %bb100.i.i ], [ %i.3.i.i, %bb8.i39.i.i ], [ %i.3.i.i, %bb23.i57.i.i ]		; <i32> [#uses=3]
	%tmp292.i.i = load i8* %tmp16.i.i100, align 1		; <i8> [#uses=1]
	%tmp293.not.i.i = icmp ne i8 %tmp292.i.i, 0		; <i1> [#uses=1]
	%bothcond.i.i = and i1 %tmp293.not.i.i, %myEOF.1.i.i		; <i1> [#uses=1]
	br i1 %bothcond.i.i, label %bb202.i.i, label %bb301.i.i
  Factoring out 3 common predecessors.
On the path from any blocks other than bb23.i57.i.i, the load and compare 
are dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50096  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-22 07:05:46 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						d38c14e6ed 
					 
					
						
						
							
							refactor some code, no functionality change.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-22 06:36:15 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						037c781de7 
					 
					
						
						
							
							fix grammar-o, thanks to Duncan for noticing.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50047  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-21 18:25:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2cc675180b 
					 
					
						
						
							
							Use the new SplitBlockPredecessors to implement a todo.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50022  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-21 02:57:57 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						bd3401fa98 
					 
					
						
						
							
							finish the first cut of a jump threading pass implementation.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50006  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-20 22:39:42 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f9065a904f 
					 
					
						
						
							
							we can only thread blocks when there is a pred we can determine the succ of.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50003  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-20 21:18:09 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						177480b7ed 
					 
					
						
						
							
							improve comments, infrastructure, and add some validity checks for threading.  
						
						... 
						
						
						
						Add a cost function.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50002  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-20 21:13:06 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						8383a7b7a6 
					 
					
						
						
							
							Add a new Jump Threading pass, which will handle cases  
						
						... 
						
						
						
						such as those in PR2235.  Right now the pass is not very
effective. :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50000  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2008-04-20 20:35:01 +00:00