summaryrefslogtreecommitdiffstats
path: root/include/llvm/Support/ValueHandle.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-04-27 20:16:15 +0000
committerDan Gohman <gohman@apple.com>2009-04-27 20:16:15 +0000
commit01ecca20bf0f35d1fb464f098ac4bacbfeb06735 (patch)
tree95d2dd1b8018daf6d158d81191912652e7b8e41d /include/llvm/Support/ValueHandle.h
parent0370cc6399022b687f898c9edc5e98482252997c (diff)
downloadexternal_llvm-01ecca20bf0f35d1fb464f098ac4bacbfeb06735.zip
external_llvm-01ecca20bf0f35d1fb464f098ac4bacbfeb06735.tar.gz
external_llvm-01ecca20bf0f35d1fb464f098ac4bacbfeb06735.tar.bz2
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
Diffstat (limited to 'include/llvm/Support/ValueHandle.h')
0 files changed, 0 insertions, 0 deletions