aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
AgeCommit message (Expand)Author
2006-04-02Implement constant folding of bit_convert of arbitrary constant vbuild_vector...Chris Lattner
2006-03-31Delete identity shuffles, implementing CodeGen/Generic/vector-identity-shuffl...Chris Lattner
2006-03-31Remove dead *extloads. This allows us to codegen vector.ll:test_extract_eltChris Lattner
2006-03-31Delete dead loads in the dag. This allows us to compileChris Lattner
2006-03-28When building a VVECTOR_SHUFFLE node from extract_element operations, makeChris Lattner
2006-03-28Canonicalize VECTOR_SHUFFLE(X, X, Y) -> VECTOR_SHUFFLE(X,undef,Y')Chris Lattner
2006-03-28Turn a series of extract_element's feeding a build_vector into aChris Lattner
2006-03-28Don't crash on X^X if X is a vector. Instead, produce a vector of zeros.Chris Lattner
2006-03-25Don't call SimplifyDemandedBits on vectorsChris Lattner
2006-03-19fold insertelement(buildvector) -> buildvector if the inserted element # isChris Lattner
2006-03-17Remove BRTWOWAY*Nate Begeman
2006-03-13make sure dead token factor nodes are removed by the dag combiner.Chris Lattner
2006-03-13Fold X+Y -> X|Y when safe. This implements:Chris Lattner
2006-03-13add a couple of missing foldsChris Lattner
2006-03-05Reinstate this now that the offending opposite xform has been removed.Chris Lattner
2006-03-05Back out fold (shl (add x, c1), c2) -> (add (shl x, c2), c1<<c2) for now.Evan Cheng
2006-03-05Add some simple copysign foldsChris Lattner
2006-03-04fold (mul (add x, c1), c2) -> (add (mul x, c2), c1*c2)Chris Lattner
2006-03-01Fix CodeGen/Generic/2006-03-01-dagcombineinfloop.ll, an infinite loopChris Lattner
2006-03-01Fix a typo evan noticedChris Lattner
2006-03-01Add support for target-specific dag combinesChris Lattner
2006-03-01Add a new AddToWorkList method, start using itChris Lattner
2006-03-01Pull shifts by a constant through multiplies (a form of reassociation),Chris Lattner
2006-03-01Vector ops lowering.Evan Cheng
2006-02-28Compile:Chris Lattner
2006-02-28Fold "and (LOAD P), 255" -> zextload. This allows us to compile:Chris Lattner
2006-02-28fold (sra (sra x, c1), c2) -> (sra x, c1+c2)Chris Lattner
2006-02-27remove some completed notesChris Lattner
2006-02-20Fix a problem Nate and Duraid reported where simplifying nodes can causeChris Lattner
2006-02-18Add checks to make sure we don't create bogus extend nodes, and fix a bugNate Begeman
2006-02-17Fix a tricky issue in the SimplifyDemandedBits code where CombineTo wasn'tChris Lattner
2006-02-17Clean up DemandedBitsAreZero interfaceNate Begeman
2006-02-17Don't expand sdiv by power of two before legalize, since it will likelyNate Begeman
2006-02-17kill ADD_PARTS & SUB_PARTS and replace them with fancy new ADDC, ADDE, SUBCNate Begeman
2006-02-16Rework the SelectionDAG-based implementations of SimplifyDemandedBitsNate Begeman
2006-02-16Lowering of sdiv X, pow2 was broken, this fixes it. This patch is writtenChris Lattner
2006-02-15Should not combine ISD::LOCATIONs until we have scheme to remove fromJim Laskey
2006-02-08Compile this:Chris Lattner
2006-02-05Back out previous commit, it isn't safe.Nate Begeman
2006-02-05fold c1 << (x + c2) into (c1 << c2) << x. fix a warning.Nate Begeman
2006-02-05Handle urem by shifted powers of 2.Nate Begeman
2006-02-05handle combining A / (B << N) into A >>u (log2(B)+N) when B is a power of 2Nate Begeman
2006-02-03Add a framework for eliminating instructions that produces undemanded bits.Nate Begeman
2006-02-03Add common code for reassociating ops in the dag combinerNate Begeman
2006-02-02Turn any_extend nodes into zero_extend nodes when it allows us to remove anChris Lattner
2006-02-02add two dag combines:Chris Lattner
2006-02-01Fix some of the stuff in the PPC README file, and clean up legalizationNate Begeman
2006-01-30Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,m...Chris Lattner
2006-01-30pass the address of MaskedValueIsZero into isMaskedValueZeroForTargetNode,Chris Lattner
2006-01-29eliminate uses of SelectionDAG::getBR2Way_CCChris Lattner