Bob Wilson 
							
						 
					 
					
						
						
							
						
						46455096be 
					 
					
						
						
							
							Remove DAG combiner patch to fold vector splats.  Instcombiner does it now.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117720  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-29 22:03:02 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						0f1db1a6c6 
					 
					
						
						
							
							Teach the DAG combiner to fold a splat of a splat.  Radar 8597790.  
						
						... 
						
						
						
						Also do some minor refactoring to reduce indentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117558  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-28 17:06:14 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						f96e4bd2a3 
					 
					
						
						
							
							Make CodeGen TBAA-aware.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116890  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-20 00:31:05 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2a135ae530 
					 
					
						
						
							
							This DAG combine BRCOND transformation can look pass truncate of the operand:  
						
						... 
						
						
						
						//   %a = ...                                                                                                                                                                                  
    //   %b = and i32 %a, 2                                                                                                                                                                        
    //   %c = srl i32 %b, 1                                                                                                                                                                        
    //   brcond i32 %c ...                                                                                                                                                                         
    //                                                                                                                                                                                             
    // into                                                                                                                                                                                        
    //                                                                                                                                                                                             
    //   %a = ...                                                                                                                                                                                  
    //   %b = and i32 %a, 2                                                                                                                                                                        
    //   %c = setcc eq %b, 0                                                                                                                                                                       
    //   brcond %c ...
Make sure it restores local variable N1, which corresponds to the condition operand if it fails to match.
This apparently breaks TCE but since that backend isn't in the tree I don't have a test for it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115571  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-04 22:41:01 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2831a19495 
					 
					
						
						
							
							fix rdar://8494845 + PR8244 - a miscompile exposed by my patch in r101350  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115294  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-10-01 05:36:09 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						ed1088afb5 
					 
					
						
						
							
							A select between a constant and zero, when fed by a bit test, can be efficiently  
						
						... 
						
						
						
						lowered using a series of shifts.
Fixes <rdar://problem/8285015>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114599  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-22 22:58:22 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						bc146b0a4d 
					 
					
						
						
							
							Reimplement r114460 in target-independent DAGCombine rather than target-dependent, by using  
						
						... 
						
						
						
						the predicate to discover the number of sign bits.  Enhance X86's target lowering to provide
a useful response to this query.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114473  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 20:42:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						6229d0acb8 
					 
					
						
						
							
							update a bunch of code to use the MachinePointerInfo version of getStore.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114461  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 18:41:36 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						da2d8e1032 
					 
					
						
						
							
							eliminate an old SelectionDAG::getTruncStore method, propagating  
						
						... 
						
						
						
						MachinePointerInfo around more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114452  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 17:42:31 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3d6ccfba31 
					 
					
						
						
							
							propagate MachinePointerInfo through various uses of the old  
						
						... 
						
						
						
						SelectionDAG::getExtLoad overload, and eliminate it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114446  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 17:04:51 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						fa45901eaa 
					 
					
						
						
							
							convert dagcombine off the old form of getLoad.  This fixes several bugs  
						
						... 
						
						
						
						with SVOffset computation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114442  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 16:08:50 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						f165806655 
					 
					
						
						
							
							simplify DAGCombiner::SimplifySelectOps step #2/2.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114437  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 15:58:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						1806161a0b 
					 
					
						
						
							
							substantially reduce indentation and simplify DAGCombiner::SimplifySelectOps.  
						
						... 
						
						
						
						no functionality change (step #1 )
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114436  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 15:46:59 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						85ca106632 
					 
					
						
						
							
							a few more trivial updates.  This fixes PerformInsertVectorEltInMemory to not  
						
						... 
						
						
						
						pass a completely incorrect SrcValue, which would result in a miscompile with
combiner-aa.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114411  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-21 07:32:19 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						4a9f150926 
					 
					
						
						
							
							When TCO is turned on, it is possible to end up with aliasing FrameIndex's.  Therefore,  
						
						... 
						
						
						
						CombinerAA cannot assume that different FrameIndex's never alias, but can instead use
MachineFrameInfo to get the actual offsets of these slots and check for actual aliasing.
This fixes CodeGen/X86/2010-02-19-TailCallRetAddrBug.ll and CodeGen/X86/tailcallstack64.ll
when CombinerAA is enabled, modulo a different register allocation sequence.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114348  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-20 20:39:59 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						0dcc814276 
					 
					
						
						
							
							Revert r114312 while I sort out some issues.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114313  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-19 21:01:26 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						d910fb2f12 
					 
					
						
						
							
							Tentatively enabled DAGCombiner Alias Analysis by default.  As far as I know,  
						
						... 
						
						
						
						r114268 fixed the last of the blockers to enabling it.  I will be monitoring
for failures.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114312  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-19 19:51:55 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						24bde5bce1 
					 
					
						
						
							
							Don't narrow the load and store in a load+twiddle+store sequence unless  
						
						... 
						
						
						
						there are clearly no stores between the load and the store. This fixes
this miscompile reported as PR7833.
This breaks the test/CodeGen/X86/narrow_op-2.ll optimization, which is
safe, but awkward to prove safe. Move it to X86's README.txt.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112861  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-09-02 21:18:42 +00:00 
						 
				 
			
				
					
						
							
							
								Nate Begeman 
							
						 
					 
					
						
						
							
						
						e0efc216eb 
					 
					
						
						
							
							Fix a crash in the dag combiner caused by ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself  
						
						... 
						
						
						
						recursively and returning a SCALAR_TO_VECTOR node, but assuming the input was always a BUILD_VECTOR.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@109519  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-27 18:02:18 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						54026c0f1b 
					 
					
						
						
							
							Remove r108639 now that it is handled by InstCombine instead.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108688  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-19 08:10:24 +00:00 
						 
				 
			
				
					
						
							
							
								Owen Anderson 
							
						 
					 
					
						
						
							
						
						3ecdfafe3b 
					 
					
						
						
							
							Add a DAGCombine xform to fold away redundant float->double->float conversions around sqrt instructions.  
						
						... 
						
						
						
						I am assured by people more knowledgeable than me that there are no rounding issues in eliminating this.
This fixed <rdar://problem/8197504>.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108639  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-18 08:47:54 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						3472766f9e 
					 
					
						
						
							
							Convert some tab stops into spaces.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-12 08:16:59 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						f1d93ca920 
					 
					
						
						
							
							Reenable DAG combining for vector shuffles.  It looks like it was temporarily  
						
						... 
						
						
						
						disabled and then never turned back on again.  Adjust some tests, one because
this change avoids an unnecessary instruction, and the other to make it
continue testing what it was intended to test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107941  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-09 00:38:12 +00:00 
						 
				 
			
				
					
						
							
							
								Benjamin Kramer 
							
						 
					 
					
						
						
							
						
						cde51108de 
					 
					
						
						
							
							Merge the duplicated iabs optimization in DAGCombiner and let it detected a few more idioms.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107868  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-08 12:09:56 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						bcc8017c73 
					 
					
						
						
							
							Move getExtLoad() and (some) getLoad() DebugLoc argument after EVT argument for consistency sake.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107820  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-07 22:15:37 +00:00 
						 
				 
			
				
					
						
							
							
								Devang Patel 
							
						 
					 
					
						
						
							
						
						0d881dabc1 
					 
					
						
						
							
							Propagate debug loc.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107710  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-07-06 22:08:15 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						8674949513 
					 
					
						
						
							
							Unlike other targets, ARM now uses BUILD_VECTORs post-legalization so they  
						
						... 
						
						
						
						can't be changed arbitrarily by the DAGCombiner without checking if it is
running after legalization.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107097  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-28 23:40:25 +00:00 
						 
				 
			
				
					
						
							
							
								Duncan Sands 
							
						 
					 
					
						
						
							
						
						b447c4e65b 
					 
					
						
						
							
							Remove variables which are assigned to but for which the value  
						
						... 
						
						
						
						is not used.  Spotted by gcc-4.6.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106854  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-25 14:48:39 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						4e39e9da0f 
					 
					
						
						
							
							Reapply r106634, now that the bug it exposed is fixed.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106746  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-24 14:30:44 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Dunbar 
							
						 
					 
					
						
						
							
						
						cbe762b5d1 
					 
					
						
						
							
							Revert r106263, "Fold the ShrinkDemandedOps pass into the regular DAGCombiner pass,"... it was causing both 'file' (with clang) and 176.gcc (with llvm-gcc) to be miscompiled.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106634  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-23 17:09:26 +00:00 
						 
				 
			
				
					
						
							
							
								Jim Grosbach 
							
						 
					 
					
						
						
							
						
						9a526495e0 
					 
					
						
						
							
							Some targets don't require the fencing MEMBARRIER instructions surrounding  
						
						... 
						
						
						
						atomic intrinsics, either because the use locking instructions for the
atomics, or because they perform the locking directly. Add support in the
DAG combiner to fold away the fences.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106630  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-23 16:07:42 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						8a7f7426ee 
					 
					
						
						
							
							Fold the ShrinkDemandedOps pass into the regular DAGCombiner pass,  
						
						... 
						
						
						
						which is faster, simpler, and less surprising.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106263  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-06-18 01:05:21 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						86234c30a7 
					 
					
						
						
							
							Fix another variant of PR 7191.  Also add a testcase  
						
						... 
						
						
						
						Mon Ping provided; unfortunately bugpoint failed to
reduce it, but I think it's important to have a test for
this in the suite.  8023512.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104624  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-25 18:47:23 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						61734eb117 
					 
					
						
						
							
							Fix PR 7191.  I have been unable to create a .ll file that fails, sorry.  
						
						... 
						
						
						
						(oye, a word which should be better known to people writing tree
traversals, means grandchild.)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104619  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-25 17:50:03 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						70fe6643d6 
					 
					
						
						
							
							Clean up extra whitespace.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104410  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-21 23:53:55 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						78f006acdf 
					 
					
						
						
							
							Change CodeGen/ARM/2009-11-02-NegativeLane.ll to use 16-bit vector elements  
						
						... 
						
						
						
						so that it will continue to test what it was meant to test when I commit a
separate change for better support of BUILD_VECTOR and VECTOR_SHUFFLE for Neon.
Fix a DAG combiner crash exposed by this test change.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104380  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-21 21:05:32 +00:00 
						 
				 
			
				
					
						
							
							
								Bob Wilson 
							
						 
					 
					
						
						
							
						
						492fd454ca 
					 
					
						
						
							
							Optimize away insertelement of an undef value.  This shows up in  
						
						... 
						
						
						
						test/Codegen/ARM/reg_sequence.ll but it doesn't affect the generated code
because the coalescer cleans it up.  Radar 7998853.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104185  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-19 23:42:58 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						0a942dbb1e 
					 
					
						
						
							
							Intrinsics which do a vector compare (results are all zero or all ones) are modeled as icmp / fcmp + sext. This is turned into a vsetcc by dag combine (yes, not a good long term solution). The targets can then isel the vsetcc to the appropriate instruction.  
						
						... 
						
						
						
						The trouble arises when the result of a vector cmp + sext is then and'ed with all ones. Instcombine will turn it into a vector cmp + zext, dag combiner will miss turning it into a vsetcc and hell breaks loose after that.
Teach dag combine to turn a vector cpm + zest into a vsetcc + and 1. This fixes rdar://7923010.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-19 01:08:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						28dad2a5ca 
					 
					
						
						
							
							Sink dag combine's post index load / store code that swap base ptr and index into the target hook. Only the target knows whether the swap is safe. In Thumb2 mode, the offset must be an immediate. rdar://7998649  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104060  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-18 21:31:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a083988c8a 
					 
					
						
						
							
							FIX PR7158. SimplifyVBinOp was asserting when it fails to constant fold (op (build_vector), (build_vector)).  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104004  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-18 00:03:40 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						aad753bbbd 
					 
					
						
						
							
							Be careful with operand promotion. For a binary operation, the source operands may be the same. PR7018. rdar://7939869.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@103419  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-05-10 19:03:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						3ce89f47de 
					 
					
						
						
							
							Apply a patch from Jan Sjodin to fix a compiler abort on vector  
						
						... 
						
						
						
						comparisons sign-extended to a different bitwidth than the
comparison operands.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102721  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-30 17:19:19 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b3a3d5e858 
					 
					
						
						
							
							Try operation promotion only if regular dag combine and target-specific ones failed to do anything.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102492  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-28 07:10:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						ac7eae5b89 
					 
					
						
						
							
							- When legal, promote a load to zextload rather than ext load.  
						
						... 
						
						
						
						- Catch more further dag combine opportunities as result of operand promotion, e.g. (i32 anyext (i16 trunc (i32 x))) -> (i32 x)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102455  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-27 19:48:13 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						95c57ea182 
					 
					
						
						
							
							When a load operand is promoted to an extload, replace other uses with uses of extload result truncated.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102236  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-24 04:43:44 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						a7bcef1bce 
					 
					
						
						
							
							Apply a fix for a vector setcc dagcombine from Jan Sjodin. No  
						
						... 
						
						
						
						testcase yet, as the testcase now fails downstream.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102228  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-24 01:17:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						caf7740f96 
					 
					
						
						
							
							Code refactoring.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102202  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-23 19:10:30 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						07c4e1085d 
					 
					
						
						
							
							- It's not safe to promote rotates (at least not trivially).  
						
						... 
						
						
						
						- Some code refactoring.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@102111  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-22 20:19:46 +00:00 
						 
				 
			
				
					
						
							
							
								Bill Wendling 
							
						 
					 
					
						
						
							
						
						86c5abb4c0 
					 
					
						
						
							
							The visitXOR method can return the same SDNode. If so, we don't want to delete  
						
						... 
						
						
						
						it as it's not dead.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101855  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-20 01:25:01 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						4c26e93e89 
					 
					
						
						
							
							More progress on promoting i16 operations to i32 for x86. Work in progress.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101808  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2010-04-19 19:29:22 +00:00