Duncan Sands 
							
						 
					 
					
						
						
							
						
						272dce0137 
					 
					
						
						
							
							Correct swapped arguments to getConstant.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42824  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-10 09:54:50 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						389079b59f 
					 
					
						
						
							
							DAGCombiner support for UDIVREM/SDIVREM and UMUL_LOHI/SMUL_LOHI.  
						
						... 
						
						
						
						Check if one of the two results unneeded so see if a simpler operator
could bs used. Also check to see if each of the two computations could be
simplified if they were split into separate operators. Factor out the code
that calls visit() so that it can be used for this purpose.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42759  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-08 17:57:15 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						513da43c9c 
					 
					
						
						
							
							Reapply 42677.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42692  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-06 08:19:55 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						5349de1372 
					 
					
						
						
							
							revert evan's patch until the header is committed  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42686  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-06 06:08:17 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c231e8c8a5 
					 
					
						
						
							
							Added DAG xforms. e.g.  
						
						... 
						
						
						
						(vextract (v4f32 s2v (f32 load $addr)), 0) -> (f32 load $addr) 
(vextract (v4i32 bc (v4f32 s2v (f32 load $addr))), 0) -> (i32 load $addr)
Remove x86 specific patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42677  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-10-06 02:46:29 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						e0480d2ec2 
					 
					
						
						
							
							Fix a bogus splat xform:  
						
						... 
						
						
						
						shuffle <undef, undef, x, undef>, <undef, undef, undef, undef>, <2, 2, 2, 2>
!=
<undef, undef, x, undef>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42111  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-18 21:54:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						c7b21d520a 
					 
					
						
						
							
							Prevent crash on long double.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42103  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-18 18:36:59 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						9d5f456077 
					 
					
						
						
							
							Revise previous patch per review comments.  
						
						... 
						
						
						
						Next round of x87 long double stuff.
Getting close now, basically works.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41875  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-12 03:30:33 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						3f6eb7419d 
					 
					
						
						
							
							Add APInt interfaces to APFloat (allows directly  
						
						... 
						
						
						
						access to bits).  Use them in place of float and
double interfaces where appropriate.
First bits of x86 long double constants handling 
(untested, probably does not work).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41858  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-11 18:32:33 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						61c5ff460b 
					 
					
						
						
							
							Emit:  
						
						... 
						
						
						
						cmpl    %eax, %ecx
        setae   %al
        movzbl  %al, %eax
instead of:
        cmpl    %eax, %ecx
        setb    %al
        xorb    $1, %al
        movzbl  %al, %eax
when using logical not of a C comparison.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41807  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-09-10 21:39:07 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						c4dd3c3b51 
					 
					
						
						
							
							Add mod, copysign, abs operations to APFloat.  
						
						... 
						
						
						
						Implement some constant folding in SelectionDAG and
DAGCombiner using APFloat.  Remove double versions
of constructor and getValue from ConstantFPSDNode.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41664  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-31 23:34:27 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						e9c8fa095e 
					 
					
						
						
							
							Make DAGCombiner's global alias analysis query more precise in the case  
						
						... 
						
						
						
						where both pointers have non-zero offsets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41491  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-27 16:32:11 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						e6c1742914 
					 
					
						
						
							
							Revise per review comments.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41409  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-26 01:18:27 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						87503a63d5 
					 
					
						
						
							
							Add APFloat interface to ConstantFPSDNode.  Change  
						
						... 
						
						
						
						over uses in DAGCombiner.  Fix interfaces to work
with APFloats.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41407  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-25 22:10:57 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						571c4788d5 
					 
					
						
						
							
							Fold C ? 0 : 1 to ~C or zext(~C) or trunc(~C) depending the types.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@41163  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-08-18 05:57:05 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						559742c0ea 
					 
					
						
						
							
							Fix the alias analysis query in DAGCombiner to not add in two  
						
						... 
						
						
						
						offsets. The SrcValueOffset values are the real offsets from the
SrcValue base pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40534  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-26 16:14:06 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						05d92fe7c4 
					 
					
						
						
							
							Don't call SimplifyVBinOp for non-vector operations, following earlier review  
						
						... 
						
						
						
						feedback. This theoretically makes the common (scalar) case more efficient.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@39823  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-13 20:03:40 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						70fb1aefd5 
					 
					
						
						
							
							Fix a bug in the folding of binary operators to undef.  
						
						... 
						
						
						
						Thanks to Lauro for spotting this!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38491  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-10 15:19:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d595b5f1f0 
					 
					
						
						
							
							Fix the folding of undef in several binary operators to recognize  
						
						... 
						
						
						
						undef in either the left or right operand.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38489  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-10 14:20:37 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						d6fd1bc122 
					 
					
						
						
							
							Preserve volatililty and alignment information when lowering or  
						
						... 
						
						
						
						simplifying loads and stores.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38473  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-09 22:18:38 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						e094f54f4c 
					 
					
						
						
							
							Fix this warning:  
						
						... 
						
						
						
						DAGCombiner.cpp: In member function 'llvm::SDOperand<unnamed>::DAGCombiner::visitOR(llvm::SDNode*)':
DAGCombiner.cpp:1608: warning: passing negative value '-0x00000000000000001' for argument 1 to 'llvm::SDOperand llvm::SelectionDAG::getConstant(uint64_t, llvm::MVT::ValueType, bool)'
oiy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@38458  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-09 16:16:34 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						613e0d8008 
					 
					
						
						
							
							Fix several over-aggressive folds for undef nodes in dagcombine, to  
						
						... 
						
						
						
						follow the rules for undef used in instcombine.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37851  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-03 14:03:57 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						23ff1826b9 
					 
					
						
						
							
							Teach GetNegatedExpression to negate 0-B to B in UnsafeFPMath mode, and  
						
						... 
						
						
						
						visitFSUB to fold 0-B to -B in UnsafeFPMath mode. Also change visitFNEG
to use isNegatibleForFree/GetNegatedExpression instead of doing a subset
of the same thing manually.
This fixes test/CodeGen/X86/negative-sin.ll.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37842  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-07-02 15:48:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						7f32156bb9 
					 
					
						
						
							
							Generalize MVT::ValueType and associated functions to be able to represent  
						
						... 
						
						
						
						extended vector types. Remove the special SDNode opcodes used for pre-legalize
vector operations, and the special MVT::Vector type used with them. Adjust
lowering and legalize to work with the normal SDNode kinds instead, and to
use the normal MVT functions to work with vector types instead of using the
two special operands that the pre-legalize nodes held.
This allows pre-legalize and post-legalize DAGs, and the code that operates
on them, to be more consistent. Pre-legalize vector operators can be handled
more consistently with scalar operators. And, -view-dag-combine1-dags and
-view-legalize-dags now look prettier for vector code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37719  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-25 16:23:39 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						ea859be53c 
					 
					
						
						
							
							Move ComputeMaskedBits, MaskedValueIsZero, and ComputeNumSignBits from  
						
						... 
						
						
						
						TargetLowering to SelectionDAG so that they have more convenient
access to the current DAG, in preparation for the ValueType routines
being changed from standalone functions to members of SelectionDAG for
the pre-legalize vector type changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37704  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-22 14:59:07 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						b13cdbd865 
					 
					
						
						
							
							Xforms:  
						
						... 
						
						
						
						(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))
(sub x, (select cc, 0, c)) -> (select cc, x, (sub, x, c))
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37685  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-21 07:39:16 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						b5bec2b6f6 
					 
					
						
						
							
							Pass a SelectionDAG into SDNode::dump everywhere it's used, in prepration  
						
						... 
						
						
						
						for needing the DAG node to print pre-legalize extended value types, and
to get better debug messages with target-specific nodes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37656  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-19 14:13:56 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						51eaa86758 
					 
					
						
						
							
							Rename MVT::getVectorBaseType to MVT::getVectorElementType.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37579  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-06-14 22:58:02 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						3adf951364 
					 
					
						
						
							
							tighten up recursion depth again  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37330  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-25 02:19:06 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c843abe868 
					 
					
						
						
							
							Fix a typo that caused combiner to create mal-formed pre-indexed store where value store is the same as the base pointer.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37318  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-24 02:35:39 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						501fee71e0 
					 
					
						
						
							
							prevent exponential recursion in isNegatibleForFree  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37310  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-23 07:35:22 +00:00 
						 
				 
			
				
					
						
							
							
								Dan Gohman 
							
						 
					 
					
						
						
							
						
						fcc4dd91e5 
					 
					
						
						
							
							Qualify calls to getTypeForValueType with MVT:: too.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37233  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-18 18:41:29 +00:00 
						 
				 
			
				
					
						
							
							
								Dale Johannesen 
							
						 
					 
					
						
						
							
						
						98a6c62aff 
					 
					
						
						
							
							Don't fold bitconvert(load) for preinc/postdec loads.  Likewise stores.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37130  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-16 22:45:30 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c76d4410ab 
					 
					
						
						
							
							Use a ptr set instead of a linear search to unique TokenFactor operands.  
						
						... 
						
						
						
						This fixes PR1423
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37102  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-16 06:37:59 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						93003b8cf2 
					 
					
						
						
							
							Bug fix: should check ABI alignment, not pref. alignment.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37094  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-16 02:04:50 +00:00 
						 
				 
			
				
					
						
							
							
								Lauro Ramos Venancio 
							
						 
					 
					
						
						
							
						
						b5bb7ffa9c 
					 
					
						
						
							
							Fix an infinite recursion in GetNegatedExpression.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37086  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-15 17:05:43 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						2944652569 
					 
					
						
						
							
							implement a simple fneg optimization/propagation thing.  This compiles:  
						
						... 
						
						
						
						CodeGen/PowerPC/fneg.ll into:
_t4:
        fmul f0, f3, f4
        fmadd f1, f1, f2, f0
        blr
instead of:
_t4:
        fneg f0, f3
        fmul f0, f0, f4
        fmsub f1, f1, f2, f0
        blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37054  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-14 22:04:50 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						2c4f94363a 
					 
					
						
						
							
							Can't fold the bit_convert is the store is a truncating store.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36962  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-09 21:49:47 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						c2cd2b29f5 
					 
					
						
						
							
							Forgot a check.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-07 21:36:06 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						59d5b68dff 
					 
					
						
						
							
							Enable a couple of xforms:  
						
						... 
						
						
						
						- (store (bitconvert v)) -> (store v) if resultant store does not require
higher alignment
- (bitconvert (load v)) -> (load (bitconvert*)v) if resultant load does not
require higher alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36908  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-07 21:27:48 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						a7d4a04d24 
					 
					
						
						
							
							Don't create indexed load / store with zero offset!  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36716  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-03 23:52:19 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						498f55989a 
					 
					
						
						
							
							Forgot about chain result; also UNDEF cannot have multiple values.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36622  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-01 08:53:39 +00:00 
						 
				 
			
				
					
						
							
							
								Evan Cheng 
							
						 
					 
					
						
						
							
						
						45a7ca9b23 
					 
					
						
						
							
							* Only turn a load to UNDEF if all of its outputs have no uses (indexed loads  
						
						... 
						
						
						
						produce two results.)
* Do not touch volatile loads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36604  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-05-01 00:38:21 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						95c218a83e 
					 
					
						
						
							
							PR400 phase 2. Propagate attributed load/store information through DAGs.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36356  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-22 23:15:30 +00:00 
						 
				 
			
				
					
						
							
							
								Reid Spencer 
							
						 
					 
					
						
						
							
						
						c67bdc288a 
					 
					
						
						
							
							Revert Christopher Lamb's load/store alignment changes.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36309  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-21 18:36:27 +00:00 
						 
				 
			
				
					
						
							
							
								Christopher Lamb 
							
						 
					 
					
						
						
							
						
						2330e4d4c4 
					 
					
						
						
							
							add support for alignment attributes on load/store instructions  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36301  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-21 08:16:25 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						61a4c072b9 
					 
					
						
						
							
							allow SRL to simplify its operands, as it doesn't demand all bits as input.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36245  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-18 03:06:49 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						ec06e9a670 
					 
					
						
						
							
							When replacing a node in SimplifyDemandedBits, if the old node used any  
						
						... 
						
						
						
						single-use nodes, they will be dead soon.  Make sure to remove them before
processing other nodes.  This implements CodeGen/X86/shl_elim.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36244  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-18 03:05:22 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						95a5e0507e 
					 
					
						
						
							
							SIGN_EXTEND_INREG does not demand its top bits.  Give SimplifyDemandedBits  
						
						... 
						
						
						
						a chance to hack on it.  This compiles:
int baz(long long a) { return (short)(((int)(a >>24)) >> 9); }
into:
_baz:
        slwi r2, r3, 8
        srwi r2, r2, 9
        extsh r3, r2
        blr
instead of:
_baz:
        srwi r2, r4, 24
        rlwimi r2, r3, 8, 0, 23
        srwi r2, r2, 9
        extsh r3, r2
        blr
This implements CodeGen/PowerPC/sign_ext_inreg1.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36212  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-17 19:03:21 +00:00 
						 
				 
			
				
					
						
							
							
								Chris Lattner 
							
						 
					 
					
						
						
							
						
						c24bbaddf8 
					 
					
						
						
							
							fix an infinite loop compiling ldecod, notice by JeffC.  
						
						... 
						
						
						
						git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@35910  91177308-0d34-0410-b5e6-96231b3b80d8 
						
						
					 
					
						2007-04-11 16:51:53 +00:00