aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/SelectionDAG
AgeCommit message (Expand)Author
2005-04-30Codegen and legalize sin/cos/llvm.sqrt as FSIN/FCOS/FSQRT calls. This patchChris Lattner
2005-04-28Legalize FSQRT, FSIN, FCOS nodes, patch contributed by Morten OfstadChris Lattner
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-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-13Implement expansion of unsigned i64 -> FP.Chris Lattner
2005-04-13Make expansion of uint->fp cast assert out instead of infinitely recurse.Chris 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-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