aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG
AgeCommit message (Expand)Author
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-13Instead of making ZERO_EXTEND_INREG nodes, use the helper method inChris 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-12promote extload i1 -> extload i8Chris Lattner
2005-04-12Remove some redundant checks, add a couple of new ones. This allows us toChris Lattner
2005-04-12Emit comparisons against the sign bit better. Codegen this:Chris Lattner
2005-04-12Emit long comparison against -1 better. Instead of this (x86):Chris Lattner
2005-04-12canonicalize x <u 1 -> x == 0. On this testcase:Chris Lattner
2005-04-11Teach the dag mechanism that this:Chris Lattner
2005-04-11Fix expansion of shifts by exactly NVT bits on arch's (like X86) that haveChris Lattner
2005-04-11Fix libcall code to not pass a NULL Chain to LowerCallToNate Begeman
2005-04-10Don't bother sign/zext_inreg'ing the result of an and operation if we knowChris Lattner
2005-04-10Teach legalize to deal with targets that don't support some SEXTLOAD/ZEXTLOADsChris Lattner
2005-04-10don't zextload fp values!Chris Lattner
2005-04-10Until we have a dag combiner, promote using zextload's instead of extloads.Chris 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-09Emit BRCONDTWOWAY when possible.Chris Lattner
2005-04-09Legalize BRCONDTWOWAY into a BRCOND/BR pair if a target doesn't support it.Chris 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-06Teach ExpandShift how to handle shifts by a constant. This allows targetsNate Begeman
2005-04-06Expand SREM and UREM for targets that claim not to have them, like PowerPCNate Begeman
2005-04-05Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64bNate Begeman
2005-04-04Handle expanding arguments to ISD::TRUNCATE. This happens on PowerPC whenNate Begeman
2005-04-03Fix sign_extend and zero_extend of promoted value types to expanded valueChris Lattner
2005-04-02transform fabs/fabsf calls into FABS nodes.Chris Lattner
2005-04-02Expand fabs into fnegChris Lattner
2005-04-02Turn -0.0 - X -> fnegChris Lattner
2005-04-02Several changes mixed up here. First when legalizing a DAG with pcmarker,Chris Lattner
2005-04-02print fneg/fabsChris Lattner
2005-04-02fix some bugs in the implementation of SHL_PARTS and friends.Chris Lattner
2005-04-02Turn expanded shift operations into (e.g.) SHL_PARTS if the target supports it.Chris Lattner
2005-04-02Print some new nodesChris Lattner
2005-04-02Fix a bug when inserting a libcall into a function with no other calls.Chris Lattner
2005-04-02Fix a warning about an unhandled switch caseNate Begeman
2005-04-01Add ISD::UNDEF nodeNate Begeman
2005-03-31PCMarker support for DAG and AlphaAndrew Lenharth
2005-03-30Instead of setting up the CFG edges at selectiondag construction time, setChris Lattner
2005-03-29Fix a bug that andrew noticed where we do not correctly sign/zero extendChris Lattner