aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
AgeCommit message (Expand)Author
2005-05-09memoize all nodes, even null Value* nodes. Do not add two token chain outputsChris Lattner
2005-05-09Print SrcValue nodes correctlyChris Lattner
2005-05-03Implement count leading zeros (ctlz), count trailing zeros (cttz), and countAndrew Lenharth
2005-04-28Add FSQRT, FSIN, FCOS nodes, patch contributed by Morten OfstadChris Lattner
2005-04-27Implement Value* tracking for loads and stores in the selection DAG. This en...Andrew Lenharth
2005-04-26Fold (X > -1) | (Y > -1) --> (X&Y > -1)Chris Lattner
2005-04-25implement some more logical compares with constants, so that:Chris Lattner
2005-04-25Codegen x < 0 | y < 0 as (x|y) < 0. This allows us to compile this to:Chris Lattner
2005-04-22Convert tabs to spacesMisha Brukman
2005-04-21Remove trailing whitespaceMisha Brukman
2005-04-21Improve and elimination. On PPC, for:Chris Lattner
2005-04-21Fold (x & 8) != 0 and (x & 8) == 8 into (x & 8) >> 3.Chris Lattner
2005-04-18Fold setcc of MVT::i1 operands into logical operationsChris Lattner
2005-04-18Another minor simplification: handle setcc (zero_extend x), c -> setcc(x, c')Chris Lattner
2005-04-18Another simple xformChris Lattner
2005-04-18Fold:Chris Lattner
2005-04-18Make the AND elimination operation recursive and significantly more powerful,Chris Lattner
2005-04-14Add a couple missing transforms in getSetCC that were triggering assertionsNate Begeman
2005-04-13Disbale the broken fold of shift + sz[ext] for nowNate Begeman
2005-04-13fix an infinite loopChris Lattner
2005-04-13fix some serious miscompiles on ia64, alpha, and ppcChris Lattner
2005-04-13avoid work when possible, perhaps fix the problem nate and andrew are seeingChris Lattner
2005-04-13add back the optimization that Nate added for shl X, (zext_inreg y)Chris Lattner
2005-04-13Oops, remove these too.Chris Lattner
2005-04-13Remove all foldings of ZERO_EXTEND_INREG, moving them to work for AND nodesChris Lattner
2005-04-12Fold shift x, [sz]ext(y) -> shift x, yNate Begeman
2005-04-12Fold shift by size larger than type size to undefNate Begeman
2005-04-12Remove some redundant checks, add a couple of new ones. This allows us toChris Lattner
2005-04-12canonicalize x <u 1 -> x == 0. On this testcase:Chris Lattner
2005-04-10Don't bother sign/zext_inreg'ing the result of an and operation if we knowChris Lattner
2005-04-10Fold zext_inreg(zextload), likewise for sext'sChris Lattner
2005-04-10add a simple xformChris Lattner
2005-04-10Fix a thinko. If the operand is promoted, pass the promoted value intoChris Lattner
2005-04-09add a little peephole optimization. This allows us to codegen:Chris Lattner
2005-04-09recognize some patterns as fabs operations, so that fabs at the source levelChris Lattner
2005-04-09print and fold BRCONDTWOWAY correctlyChris Lattner
2005-04-09canonicalize a bunch of operations involving fnegChris Lattner
2005-04-07If a target zero or sign extends the result of its setcc, allow folding ofChris Lattner
2005-04-07Remove somethign I had for testingChris Lattner
2005-04-07This patch does two things. First, it canonicalizes 'X >= C' -> 'X > C-1'Chris Lattner
2005-04-07Fix a really scary bug that Nate found where we weren't deleting the rightChris Lattner
2005-04-05Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64bNate Begeman
2005-04-02print fneg/fabsChris Lattner
2005-04-02fix some bugs in the implementation of SHL_PARTS and friends.Chris Lattner
2005-04-02Print some new nodesChris Lattner
2005-04-01Add ISD::UNDEF nodeNate Begeman
2005-03-31PCMarker support for DAG and AlphaAndrew Lenharth
2005-03-10Fix a bug where we would incorrectly do a sign ext instead of a zero extChris Lattner
2005-03-09constant fold FP_ROUND_INREG, ZERO_EXTEND_INREG, and SIGN_EXTEND_INREGChris Lattner
2005-02-17Don't rely on doubles comparing identical to each other, which doesn't workChris Lattner