aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
AgeCommit message (Expand)Author
2012-05-08DAGCombiner should not change the type of an extract_vector index.Jim Grosbach
2012-05-07Teach DAG combine to fold x-x to 0.0 when unsafe FP math is enabled.Owen Anderson
2012-05-02Teach DAGCombine the same multiply-by-1.0 folding trick when doing FMAs, just...Owen Anderson
2012-05-02Teach DAG combine that multiplication by 1.0 can always be constant folded.Owen Anderson
2012-04-22ZERO_EXTEND/SIGN_EXTEND/TRUNCATE optimization for AVX2Elena Demikhovsky
2012-04-20Register DAGUpdateListeners with SelectionDAG.Jakob Stoklund Olesen
2012-04-16Remove dead SD nodes after the combining pass. Fixes PR12201.Hal Finkel
2012-04-11Reapply 154397. Original message:Nadav Rotem
2012-04-10Add a comment noting that the fdiv -> fmul conversion won't generateDuncan Sands
2012-04-10Revert r154397, which was causing make check failures on the buildbots.Owen Anderson
2012-04-10Fix a dagcombine optimization which assumes that the vsetcc result type is al...Nadav Rotem
2012-04-10Transform div to mul with reciprocal only when fp imm is legal.Anton Korobeynikov
2012-04-10Don't try to zExt just to check if an integer constant is zero, it mightRafael Espindola
2012-04-09Pattern match a setcc of boolean value with 0 as a truncate.Rafael Espindola
2012-04-09Remove unnecessary type check when combining and/or/xor of swizzles. Move som...Craig Topper
2012-04-09Remove unnecessary 'else' on an 'if' that always returnsCraig Topper
2012-04-09Optimize code slightly. No functionality change.Craig Topper
2012-04-09Replace some explicit checks with asserts for conditions that should never ha...Craig Topper
2012-04-08Silence sign-compare warning.Benjamin Kramer
2012-04-08Only have codegen turn fdiv by a constant into fmul by the reciprocalDuncan Sands
2012-04-071. Remove the part of r153848 which optimizes shuffle-of-shuffle into a newNadav Rotem
2012-04-07Convert floating point division by a constant into multiplication by theDuncan Sands
2012-04-04Always compute all the bits in ComputeMaskedBits.Rafael Espindola
2012-04-02Add predicates for checking whether targets have free FNEG and FABS operation...Owen Anderson
2012-04-02Optimizing swizzles of complex shuffles may generate additional complex shuff...Nadav Rotem
2012-04-01This commit contains a few changes that had to go in together.Nadav Rotem
2012-03-27fix what looks like a real logic bug, found by PVS-Studio (part of PR12357)Chris Lattner
2012-03-20When combining (vextract shuffle (load ), <1,u,u,u>), 0) -> (load ), add user...Craig Topper
2012-03-19Fix DAG combine which creates illegal vector shuffles. Patch by Heikki Kultala.Duncan Sands
2012-03-15When optimizing certain BUILD_VECTOR nodes into other BUILD_VECTOR nodes, add...Nadav Rotem
2012-03-15Add a xform to the DAG combiner.Bill Wendling
2012-03-13Fortify r152675 a bit. Although I'm not able to come up with a test case that...Evan Cheng
2012-03-13DAG combine incorrectly optimize (i32 vextract (v4i16 load $addr), c) toEvan Cheng
2012-03-10Give dagcombiner's worklist some inline capacity.Benjamin Kramer
2012-03-06Extend r148086 to check for [r +/- reg] address mode. This fixes queens perfo...Evan Cheng
2012-03-06Make it possible for a target to mark FSUB as Expand. This requires providin...Owen Anderson
2012-02-20Teach the DAGCombiner that certain loadext nodes followed by ANDs can be conv...James Molloy
2012-02-16Remove extraneous #include and spelling mistake introduced in r150669.James Molloy
2012-02-16Modify the algorithm when traversing the DAGCombiner's worklist to be O(log N...James Molloy
2012-02-13Fix a bug in DAGCombine for the optimization of BUILD_VECTOR. We cant generat...Nadav Rotem
2012-02-12This patch addresses the problem of poor code generation for the zextNadav Rotem
2012-02-05Add additional documentation to the extract-and-trunc dagcombine optimization.Nadav Rotem
2012-02-03The type-legalizer often scalarizes code. One of the common patterns is extra...Nadav Rotem
2012-01-17Transform: (EXTRACT_VECTOR_ELT( VECTOR_SHUFFLE )) -> EXTRACT_VECTOR_ELT.Nadav Rotem
2012-01-17Teach DAG combiner to turn a BUILD_VECTOR of UNDEFs into an UNDEF of vector t...Craig Topper
2012-01-15DAGCombiner: Deduplicate code.Benjamin Kramer
2012-01-13DAGCombine's logic for forming pre- and post- indexed loads / stores were beingEvan Cheng
2012-01-11Teach the X86 instruction selection to do some heroic transforms toChandler Carruth
2012-01-07Replace some uses of hasNUsesOfValue(0, X) with !hasAnyUseOfValue(X)Craig Topper
2012-01-07Add some DAG combines for SUBC/SUBE. If nothing uses the carry/borrow out of ...Craig Topper