summaryrefslogtreecommitdiff
path: root/lib/CodeGen
Commit message (Expand)AuthorAge
* Remove trailing whitespaceMisha Brukman2005-04-21
* Remove trailing whitespaceMisha Brukman2005-04-21
* Improve and elimination. On PPC, for:Chris Lattner2005-04-21
* Fold (x & 8) != 0 and (x & 8) == 8 into (x & 8) >> 3.Chris Lattner2005-04-21
* Fold setcc of MVT::i1 operands into logical operationsChris Lattner2005-04-18
* Another minor simplification: handle setcc (zero_extend x), c -> setcc(x, c')Chris Lattner2005-04-18
* Another simple xformChris Lattner2005-04-18
* Fold:Chris Lattner2005-04-18
* Make the AND elimination operation recursive and significantly more powerful,Chris Lattner2005-04-18
* Add a couple missing transforms in getSetCC that were triggering assertionsNate Begeman2005-04-14
* Disbale the broken fold of shift + sz[ext] for nowNate Begeman2005-04-13
* fix an infinite loopChris Lattner2005-04-13
* fix some serious miscompiles on ia64, alpha, and ppcChris Lattner2005-04-13
* avoid work when possible, perhaps fix the problem nate and andrew are seeingChris Lattner2005-04-13
* Implement expansion of unsigned i64 -> FP.Chris Lattner2005-04-13
* Make expansion of uint->fp cast assert out instead of infinitely recurse.Chris Lattner2005-04-13
* add back the optimization that Nate added for shl X, (zext_inreg y)Chris Lattner2005-04-13
* Oops, remove these too.Chris Lattner2005-04-13
* Instead of making ZERO_EXTEND_INREG nodes, use the helper method inChris Lattner2005-04-13
* Remove all foldings of ZERO_EXTEND_INREG, moving them to work for AND nodesChris Lattner2005-04-13
* Fold shift x, [sz]ext(y) -> shift x, yNate Begeman2005-04-12
* Fold shift by size larger than type size to undefNate Begeman2005-04-12
* promote extload i1 -> extload i8Chris Lattner2005-04-12
* Remove some redundant checks, add a couple of new ones. This allows us toChris Lattner2005-04-12
* Emit comparisons against the sign bit better. Codegen this:Chris Lattner2005-04-12
* Emit long comparison against -1 better. Instead of this (x86):Chris Lattner2005-04-12
* canonicalize x <u 1 -> x == 0. On this testcase:Chris Lattner2005-04-12
* Teach the dag mechanism that this:Chris Lattner2005-04-11
* Fix expansion of shifts by exactly NVT bits on arch's (like X86) that haveChris Lattner2005-04-11
* Fix libcall code to not pass a NULL Chain to LowerCallToNate Begeman2005-04-11
* Don't bother sign/zext_inreg'ing the result of an and operation if we knowChris Lattner2005-04-10
* Teach legalize to deal with targets that don't support some SEXTLOAD/ZEXTLOADsChris Lattner2005-04-10
* don't zextload fp values!Chris Lattner2005-04-10
* Until we have a dag combiner, promote using zextload's instead of extloads.Chris Lattner2005-04-10
* Fold zext_inreg(zextload), likewise for sext'sChris Lattner2005-04-10
* add a simple xformChris Lattner2005-04-10
* Fix a thinko. If the operand is promoted, pass the promoted value intoChris Lattner2005-04-10
* add a little peephole optimization. This allows us to codegen:Chris Lattner2005-04-09
* there is no need to remove this instruction, linscan does it already as itChris Lattner2005-04-09
* Adjust live intervals to support a livein setChris Lattner2005-04-09
* Consider the livein/out set for a function, allowing targets to not have toChris Lattner2005-04-09
* recognize some patterns as fabs operations, so that fabs at the source levelChris Lattner2005-04-09
* Emit BRCONDTWOWAY when possible.Chris Lattner2005-04-09
* Legalize BRCONDTWOWAY into a BRCOND/BR pair if a target doesn't support it.Chris Lattner2005-04-09
* print and fold BRCONDTWOWAY correctlyChris Lattner2005-04-09
* canonicalize a bunch of operations involving fnegChris Lattner2005-04-09
* If a target zero or sign extends the result of its setcc, allow folding ofChris Lattner2005-04-07
* Remove somethign I had for testingChris Lattner2005-04-07
* This patch does two things. First, it canonicalizes 'X >= C' -> 'X > C-1'Chris Lattner2005-04-07
* Fix a really scary bug that Nate found where we weren't deleting the rightChris Lattner2005-04-07