llvm-6502/test/CodeGen
Dan Gohman 01ecca20bf Teach getZeroExtendExpr and getSignExtendExpr to use trip-count
information to simplify [sz]ext({a,+,b}) to {zext(a),+,[zs]ext(b)},
as appropriate.

These functions and the trip count code each call into the other, so
this requires careful handling to avoid infinite recursion. During
the initial trip count computation, conservative SCEVs are used,
which are subsequently discarded once the trip count is actually
known.

Among other benefits, this change lets LSR automatically eliminate
some unnecessary zext-inreg and sext-inreg operation where the
operand is an induction variable.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@70241 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-27 20:16:15 +00:00
..
Alpha Fix Alpha test and support for private linkage. 2009-01-15 21:51:46 +00:00
ARM Rename file to have the correct suffix. 2009-04-17 20:40:20 +00:00
CBackend Fix PR2907 by digging through constant expressions to find FP constants that 2008-10-22 04:53:16 +00:00
CellSPU Revert 67132. This is breaking some objective-c apps. 2009-03-25 20:20:11 +00:00
CPP Put CPPBackend tests into their own directory and run them only if they're 2008-07-10 22:35:32 +00:00
Generic Revert accidental testcase reduction 2009-04-27 18:42:40 +00:00
IA64 Add the private linkage. 2009-01-15 20:18:42 +00:00
Mips Add the private linkage. 2009-01-15 20:18:42 +00:00
PowerPC Don't try to make BUILD_VECTOR operands have the same 2009-04-18 20:16:54 +00:00
SPARC Add the private linkage. 2009-01-15 20:18:42 +00:00
X86 Teach getZeroExtendExpr and getSignExtendExpr to use trip-count 2009-04-27 20:16:15 +00:00
XCore testcase for PR3898 2009-04-18 20:49:22 +00:00