aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SelectionDAG
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
* Implement expansion of unsigned i64 -> FP.Chris Lattner2005-04-131-2/+31
* Make expansion of uint->fp cast assert out instead of infinitely recurse.Chris Lattner2005-04-131-1/+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
* Instead of making ZERO_EXTEND_INREG nodes, use the helper method inChris Lattner2005-04-131-31/+22
* 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-122-19/+5
* promote extload i1 -> extload i8Chris Lattner2005-04-121-2/+10
* Remove some redundant checks, add a couple of new ones. This allows us toChris Lattner2005-04-121-7/+5
* Emit comparisons against the sign bit better. Codegen this:Chris Lattner2005-04-121-0/+10
* Emit long comparison against -1 better. Instead of this (x86):Chris Lattner2005-04-121-0/+10
* canonicalize x <u 1 -> x == 0. On this testcase:Chris Lattner2005-04-121-0/+9
* Teach the dag mechanism that this:Chris Lattner2005-04-111-2/+21
* Fix expansion of shifts by exactly NVT bits on arch's (like X86) that haveChris Lattner2005-04-111-0/+10
* Fix libcall code to not pass a NULL Chain to LowerCallToNate Begeman2005-04-111-5/+30
* Don't bother sign/zext_inreg'ing the result of an and operation if we knowChris Lattner2005-04-101-0/+19
* Teach legalize to deal with targets that don't support some SEXTLOAD/ZEXTLOADsChris Lattner2005-04-101-13/+38
* don't zextload fp values!Chris Lattner2005-04-101-1/+4
* Until we have a dag combiner, promote using zextload's instead of extloads.Chris Lattner2005-04-101-1/+2
* 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-102-1/+5
* 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
* Emit BRCONDTWOWAY when possible.Chris Lattner2005-04-091-7/+6
* Legalize BRCONDTWOWAY into a BRCOND/BR pair if a target doesn't support it.Chris Lattner2005-04-091-0/+33
* 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
* Teach ExpandShift how to handle shifts by a constant. This allows targetsNate Begeman2005-04-061-8/+64
* Expand SREM and UREM for targets that claim not to have them, like PowerPCNate Begeman2005-04-061-2/+25
* Add MULHU and MULHS nodes for the high part of an (un)signed 32x32=64bNate Begeman2005-04-051-0/+2
* Handle expanding arguments to ISD::TRUNCATE. This happens on PowerPC whenNate Begeman2005-04-041-1/+3
* Fix sign_extend and zero_extend of promoted value types to expanded valueChris Lattner2005-04-031-3/+27