summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
diff options
context:
space:
mode:
authorAndrew Trick <atrick@apple.com>2011-03-14 16:50:06 +0000
committerAndrew Trick <atrick@apple.com>2011-03-14 16:50:06 +0000
commit8b55b736b16f913b7d236d612a6f3acdb73183d1 (patch)
tree5b14104ccf161e17aec4f3a8c52b88aae1512c85 /llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
parent328b223bb1d83bdb01bff36e832ace60e6ff37dd (diff)
downloadbcm5719-llvm-8b55b736b16f913b7d236d612a6f3acdb73183d1.tar.gz
bcm5719-llvm-8b55b736b16f913b7d236d612a6f3acdb73183d1.zip
Added SCEV::NoWrapFlags to manage unsigned, signed, and self wrap
properties. Added the self-wrap flag for SCEV::AddRecExpr. A slew of temporary FIXMEs indicate the intention of the no-self-wrap flag without changing behavior in this revision. llvm-svn: 127590
Diffstat (limited to 'llvm/lib/Analysis/ScalarEvolutionNormalization.cpp')
-rw-r--r--llvm/lib/Analysis/ScalarEvolutionNormalization.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp b/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
index ac36cef89eb..60e630aaab8 100644
--- a/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
+++ b/llvm/lib/Analysis/ScalarEvolutionNormalization.cpp
@@ -97,7 +97,8 @@ const SCEV *llvm::TransformForPostIncUse(TransformKind Kind,
const SCEV *N = TransformForPostIncUse(Kind, O, LUser, 0, Loops, SE, DT);
Operands.push_back(N);
}
- const SCEV *Result = SE.getAddRecExpr(Operands, L);
+ // Conservatively use AnyWrap until/unless we need FlagNW.
+ const SCEV *Result = SE.getAddRecExpr(Operands, L, SCEV::FlagAnyWrap);
switch (Kind) {
default: llvm_unreachable("Unexpected transform name!");
case NormalizeAutodetect:
OpenPOWER on IntegriCloud