summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit message (Expand)AuthorAgeFilesLines
* handle combining A / (B << N) into A >>u (log2(B)+N) when B is a power of 2Nate Begeman2006-02-051-2/+13
* Add a framework for eliminating instructions that produces undemanded bits.Nate Begeman2006-02-031-10/+30
* Add common code for reassociating ops in the dag combinerNate Begeman2006-02-031-50/+55
* Turn any_extend nodes into zero_extend nodes when it allows us to remove anChris Lattner2006-02-021-0/+13
* add two dag combines:Chris Lattner2006-02-021-8/+25
* Fix some of the stuff in the PPC README file, and clean up legalizationNate Begeman2006-02-011-3/+49
* Move MaskedValueIsZero from the DAGCombiner to the TargetLowering interface,m...Chris Lattner2006-01-301-120/+21
* pass the address of MaskedValueIsZero into isMaskedValueZeroForTargetNode,Chris Lattner2006-01-301-1/+1
* eliminate uses of SelectionDAG::getBR2Way_CCChris Lattner2006-01-291-3/+10
* Add a missing case to the dag combiner.Nate Begeman2006-01-281-2/+3
* Add explicit #includes of <iostream>Chris Lattner2006-01-221-0/+1
* Get rid of code in the DAGCombiner that is duplicated in SelectionDAG.cppNate Begeman2006-01-181-74/+80
* Fix a backwards conditional that caused an inf loop in some cases. ThisChris Lattner2006-01-181-1/+1
* Disable two transformations that contribute to bus errors on SparcV8.Chris Lattner2006-01-151-2/+6
* Add a simple missing fold to produce this:Chris Lattner2006-01-121-0/+8
* Don't create rotate instructions in unsupported types, because we don't haveChris Lattner2006-01-121-2/+2
* Add bswap, rotl, and rotr nodesNate Begeman2006-01-111-2/+36
* Revert the previous check-in. Leave shl x, 1 along for target to deal with.Evan Cheng2006-01-061-3/+0
* fold (shl x, 1) -> (add x, x)Evan Cheng2006-01-061-0/+3
* Added initial support for DEBUG_LABEL allowing debug specific labels to beJim Laskey2006-01-051-2/+1
* Add unique id to debug location for debug label use (work in progress.)Jim Laskey2006-01-041-1/+2
* Remove redundant debug locations.Jim Laskey2005-12-231-0/+34
* Simplify store(bitconv(x)) to store(x). This allows us to compile this:Chris Lattner2005-12-231-0/+5
* fold (conv (load x)) -> (load (conv*)x).Chris Lattner2005-12-231-0/+10
* Fold bitconv(bitconv(x)) -> x. We now compile this:Chris Lattner2005-12-231-0/+3
* constant fold bits_convert in getNode and in the dag combiner for fp<->intChris Lattner2005-12-231-0/+15
* * Fix a GlobalAddress lowering bug.Evan Cheng2005-12-211-1/+4
* Don't create SEXTLOAD/ZEXTLOAD instructions that the target doesn't supportChris Lattner2005-12-151-2/+4
* When folding loads into ops, immediately replace uses of the op with theChris Lattner2005-12-141-6/+6
* Fix the (zext (zextload)) case to trigger, similarly for sign extends.Chris Lattner2005-12-141-7/+28
* Fix a miscompilation in crafty due to a recent patchChris Lattner2005-12-141-1/+1
* Fold (zext (load x) to (zextload x).Evan Cheng2005-12-141-1/+18
* Only transform (sext (truncate x)) -> (sextinreg x) if before legalize orChris Lattner2005-12-071-1/+3
* Teach the dag combiner to turn a truncate/sign_extend pair into a sextinregChris Lattner2005-12-071-0/+4
* Fix operator precedence bug caught by VC++.Jeff Cohen2005-11-121-2/+2
* Switch the allnodes list from a vector of pointers to an ilist of nodes.This ...Chris Lattner2005-11-091-1/+3
* Fix a crash that Andrew noticed, and add a pair of braces to unfconfuseNate Begeman2005-11-021-5/+5
* Fix a source of undefined behavior when dealing with 64-bit types. ThisChris Lattner2005-11-021-1/+1
* Codegen mul by negative power of two with a shift and negate.Chris Lattner2005-10-301-3/+13
* Fix DSE to not nuke dead stores unless they redundant store is the sameChris Lattner2005-10-271-1/+4
* Add a simple xform that is useful for bitfield operations.Chris Lattner2005-10-271-0/+9
* Clear a bit in this file that was causing a miscompilation of 178.galgel.Chris Lattner2005-10-251-1/+1
* BuildSDIV and BuildUDIV only work for i32/i64, but they don't check thatChris Lattner2005-10-221-10/+20
* add a case missing from the dag combiner that exposed the failure onChris Lattner2005-10-211-0/+3
* Fix a typo in the dag combiner, so that this can work on i64 targetsNate Begeman2005-10-211-3/+2
* Invert the TargetLowering flag that controls divide by consant expansion.Nate Begeman2005-10-211-10/+37
* Fix a couple bugs in the const div stuff where we'd generate MULHS/MULHUNate Begeman2005-10-201-3/+4
* don't use llabs with apparently VC++ doesn't haveChris Lattner2005-10-201-1/+1
* Move the target constant divide optimization up into the dag combiner, soNate Begeman2005-10-201-0/+263
* Fold (select C, load A, load B) -> load (select C, A, B). This happens quiteChris Lattner2005-10-181-7/+82
OpenPOWER on IntegriCloud