llvm-6502/lib
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
..
Analysis Teach getZeroExtendExpr and getSignExtendExpr to use trip-count 2009-04-27 20:16:15 +00:00
Archive
AsmParser testcase and asmparser fix for PR4066 2009-04-25 21:26:00 +00:00
Bitcode Make a major API change to BitstreamReader: split all the reading 2009-04-26 20:59:02 +00:00
CodeGen Don't skip the CopyMI when removing kill markers. 2009-04-27 19:55:47 +00:00
CompilerDriver -write-graph now can be used with -o. 2009-03-27 12:57:14 +00:00
Debugger Oops...I committed too much. 2009-03-13 04:39:26 +00:00
ExecutionEngine Under unusual circumstances (jitting a function that causes the creation of 2009-04-27 05:09:44 +00:00
Linker Add a new "available_externally" linkage type. This is intended 2009-04-13 05:44:34 +00:00
Support Fix PR4040: APInt's string constructor is too strict 2009-04-25 18:34:04 +00:00
System Fix g++-4.4.0 warning, it was causing llvm-nm to fail on wrapped BC files: 2009-04-25 10:25:12 +00:00
Target 2nd attempt, fixing SSE4.1 issues and implementing feedback from duncan. 2009-04-27 18:41:29 +00:00
Transforms Return null instead of false, as appropriate. 2009-04-25 17:28:45 +00:00
VMCore Any size of integral indices are allowed in gep for indexing into sequential types. Also adding a test case to check the indices type allowed into struct. 2009-04-26 17:14:35 +00:00
Makefile Reorganize llvmc code. 2009-03-02 09:01:14 +00:00