aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Commit message (Expand)AuthorAgeFilesLines
* Improve and elimination. On PPC, for:Chris Lattner2005-04-211-6/+26
* Fold (x & 8) != 0 and (x & 8) == 8 into (x & 8) >> 3.Chris Lattner2005-04-211-0/+22
* Fold setcc of MVT::i1 operands into logical operationsChris Lattner2005-04-181-0/+39
* Another minor simplification: handle setcc (zero_extend x), c -> setcc(x, c')Chris Lattner2005-04-181-0/+45
* Another simple xformChris Lattner2005-04-181-0/+8
* Fold:Chris Lattner2005-04-181-0/+11
* Make the AND elimination operation recursive and significantly more powerful,Chris Lattner2005-04-181-26/+57
* Add a couple missing transforms in getSetCC that were triggering assertionsNate Begeman2005-04-141-1/+8
* Disbale the broken fold of shift + sz[ext] for nowNate Begeman2005-04-131-7/+30
* fix an infinite loopChris Lattner2005-04-131-1/+1
* fix some serious miscompiles on ia64, alpha, and ppcChris Lattner2005-04-131-1/+1
* avoid work when possible, perhaps fix the problem nate and andrew are seeingChris Lattner2005-04-131-0/+1
* add back the optimization that Nate added for shl X, (zext_inreg y)Chris Lattner2005-04-131-2/+23
* Oops, remove these too.Chris Lattner2005-04-131-6/+2
* Remove all foldings of ZERO_EXTEND_INREG, moving them to work for AND nodesChris Lattner2005-04-131-41/+46
* Fold shift x, [sz]ext(y) -> shift x, yNate Begeman2005-04-121-0/+16
* Fold shift by size larger than type size to undefNate Begeman2005-04-121-11/+4
* Remove some redundant checks, add a couple of new ones. This allows us toChris Lattner2005-04-121-7/+5
* canonicalize x <u 1 -> x == 0. On this testcase:Chris Lattner2005-04-121-0/+9
* Don't bother sign/zext_inreg'ing the result of an and operation if we knowChris Lattner2005-04-101-0/+19
* Fold zext_inreg(zextload), likewise for sext'sChris Lattner2005-04-101-0/+6
* add a simple xformChris Lattner2005-04-101-0/+6
* Fix a thinko. If the operand is promoted, pass the promoted value intoChris Lattner2005-04-101-0/+4
* add a little peephole optimization. This allows us to codegen:Chris Lattner2005-04-091-0/+11
* recognize some patterns as fabs operations, so that fabs at the source levelChris Lattner2005-04-091-0/+21
* print and fold BRCONDTWOWAY correctlyChris Lattner2005-04-091-11/+25
* canonicalize a bunch of operations involving fnegChris Lattner2005-04-091-0/+21
* If a target zero or sign extends the result of its setcc, allow folding ofChris Lattner2005-04-071-1/+13
* Remove somethign I had for testingChris Lattner2005-04-071-1/+1
* This patch does two things. First, it canonicalizes 'X >= C' -> 'X > C-1'Chris Lattner2005-04-071-7/+49
* Fix a really scary bug that Nate found where we weren't deleting the rightChris Lattner2005-04-071-1/+1
* Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64bNate Begeman2005-04-051-0/+2
* print fneg/fabsChris Lattner2005-04-021-0/+5
* fix some bugs in the implementation of SHL_PARTS and friends.Chris Lattner2005-04-021-3/+9
* Print some new nodesChris Lattner2005-04-021-1/+6
* Add ISD::UNDEF nodeNate Begeman2005-04-011-0/+1
* PCMarker support for DAG and AlphaAndrew Lenharth2005-03-311-0/+1
* Fix a bug where we would incorrectly do a sign ext instead of a zero extChris Lattner2005-03-101-1/+1
* constant fold FP_ROUND_INREG, ZERO_EXTEND_INREG, and SIGN_EXTEND_INREGChris Lattner2005-03-091-0/+12
* Don't rely on doubles comparing identical to each other, which doesn't workChris Lattner2005-02-171-4/+19
* Remove the 3 HACK HACK HACKs I put in before, fixing them properly withChris Lattner2005-01-231-14/+27
* More bugfixes for IA64 shifts.Chris Lattner2005-01-221-2/+2
* Add a nasty hack to fix Alpha/IA64 multiplies by a power of two.Chris Lattner2005-01-221-4/+9
* Remove unneeded line.Chris Lattner2005-01-211-1/+0
* test commitChris Lattner2005-01-211-0/+1
* Unary token factor nodes are unneeded.Chris Lattner2005-01-211-0/+2
* implement add_parts/sub_parts.Chris Lattner2005-01-201-3/+8
* Know some identities about tokenfactor nodes.Chris Lattner2005-01-191-0/+11
* Know some simple identities. This improves codegen for (1LL << N).Chris Lattner2005-01-191-0/+13
* Keep track of the retval type as well.Chris Lattner2005-01-181-2/+5