aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* Prevent a DAGCombine from firing where there are two uses ofChandler Carruth2012-01-051-1/+3
* Implement VECTOR_SHUFFLE canonicalizations during DAG combine.Craig Topper2012-01-041-2/+50
* Make sure DAGCombiner doesn't introduce multiple loads from the same memory l...Eli Friedman2011-12-261-1/+23
* Initial CodeGen support for CTTZ/CTLZ where a zero input produces anChandler Carruth2011-12-131-0/+24
* Zap unnecessary isIntDivCheap() check. PR11485. No testcase because this do...Eli Friedman2011-12-071-1/+1
* Fix an optimization involving EXTRACT_SUBVECTOR in DAGCombine so it behaves c...Eli Friedman2011-12-071-13/+17
* Move global variables in TargetMachine into new TargetOptions class. As an APINick Lewycky2011-12-021-30/+49
* Revert r145273 and fix in SelectionDAG::InferPtrAlignment() instead.Evan Cheng2011-11-281-26/+12
* DAG combine should not increase alignment of loads / stores with alignment lessEvan Cheng2011-11-281-12/+26
* Make sure to replace the chain properly when DAGCombining a LOAD+EXTRACT_VECT...Eli Friedman2011-11-161-4/+17
* Remove some unnecessary includes of PseudoSourceValue.h.Jay Foad2011-11-151-1/+0
* Don't try to form pre/post-indexed loads/stores until after LegalizeDAG runs....Eli Friedman2011-11-121-7/+7
* Lower mem-ops to unaligned i32/i16 load/stores on ARM where supported.Lang Hames2011-11-081-0/+10
* Added invariant field to the DAG.getLoad method and changed all calls.Pete Cooper2011-11-081-9/+11
* Don't introduce custom nodes after legalization in TargetLowering::BuildSDIV()Richard Osborne2011-11-071-2/+2
* Cleanup. Document. Make sure that this build_vector optimization only runs be...Nadav Rotem2011-10-311-16/+29
* Silence compiler warning.Benjamin Kramer2011-10-301-4/+4
* Add a new DAGCombine optimization for BUILD_VECTOR.Nadav Rotem2011-10-291-0/+83
* Don't crash on 128-bit sdiv by constant. Found by inspection.Eli Friedman2011-10-271-9/+6
* Remove a couple redundant checks.Eli Friedman2011-10-251-2/+0
* Fix a DAG combiner assertion failure when constant folding BUILD_VECTORS.Bob Wilson2011-10-181-2/+13
* Fix SimplifySelectCC to add newly created nodes to the DAGCombinerDan Gohman2011-09-221-0/+3
* Add a DAGCombine for subvector extracts to remove useless chains ofBruno Cardoso Lopes2011-09-201-0/+32
* Make the SelectionDAG verify that all the operands of BUILD_VECTOR have the s...Eli Friedman2011-09-091-23/+32
* Add codegen support for vector select (in the IR this means a selectDuncan Sands2011-09-061-8/+9
* Roll back the rest of r126557. It's a hack that will break in some obscure ca...Benjamin Kramer2011-08-191-6/+0
* Revert r137310 because it does not optimize any code on ToTNadav Rotem2011-08-121-32/+0
* [AVX] When joining two XMM registers into a YMM register, make sure that theNadav Rotem2011-08-111-0/+32
* Make sure this DAGCombine actually returns an UNDEF of the correct type; PR10...Eli Friedman2011-07-251-1/+1