summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* Implement some feedback from Chris re: constant canonicalizationNate Begeman2005-10-181-39/+27
* fold fmul X, +2.0 -> fadd X, X;Nate Begeman2005-10-171-14/+17
* add a trivial foldChris Lattner2005-10-171-0/+4
* Fix this logic.Chris Lattner2005-10-151-1/+1
* Add a case we were missing that was causing us to fail CodeGen/PowerPC/rlwinm...Chris Lattner2005-10-151-0/+14
* fold sext_in_reg, sext_in_reg where both have the same VT. This wasNate Begeman2005-10-141-1/+1
* Relax the checking on zextload generation a bit, since as sabre pointed outNate Begeman2005-10-141-5/+49
* Fix the trunc(load) case, finally allowing crafty and povray to passChris Lattner2005-10-131-1/+2
* Fix some bugs in (sext (load x))Chris Lattner2005-10-131-1/+2
OpenPOWER on IntegriCloud