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