aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* land David Blaikie's patch to de-constify Type, with a few tweaks.Chris Lattner2011-07-181-3/+3
* Add a dag combine pattern for folding C2-(A+C1) -> (C2-C1)-AEric Christopher2011-07-141-2/+10
* Add functions 'hasPredecessor' and 'hasPredecessorHelper' to SDNode. TheLang Hames2011-07-071-1/+6
* Revert a part of r126557 which could create unschedulable DAGs.Benjamin Kramer2011-06-291-32/+0
* Replace the existing forms of ConstantArray::get() with a single formJay Foad2011-06-221-1/+1
* Teach dag combine to match halfword byteswap patterns.Evan Cheng2011-06-211-2/+264
* Add a DAGCombine for (ext (binop (load x), cst)).Nick Lewycky2011-06-161-61/+109
* Enable the simplification of truncating-store after fixing the usage ofNadav Rotem2011-06-151-3/+4
* When pattern matching during instruction selection make sure shl x,1 is notChad Rosier2011-06-141-0/+3
* Disable trunc-store simplification on vectors.Nadav Rotem2011-06-141-1/+1