aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Analysis/ScalarEvolutionExpressions.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-07-24 01:01:06 +0000
committerDan Gohman <gohman@apple.com>2009-07-24 01:01:06 +0000
commitd3ff30455707d479dfb883b3ea12794bb37b91b3 (patch)
treedf1853433e8617e3814258b7cbda36d71da70147 /include/llvm/Analysis/ScalarEvolutionExpressions.h
parent2f1b15386f84a607304fca7e26fa6b67b490df4d (diff)
downloadexternal_llvm-d3ff30455707d479dfb883b3ea12794bb37b91b3.zip
external_llvm-d3ff30455707d479dfb883b3ea12794bb37b91b3.tar.gz
external_llvm-d3ff30455707d479dfb883b3ea12794bb37b91b3.tar.bz2
Give SCEVAddRecExpr no-signed-overflow and no-unsigned-overflow flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Analysis/ScalarEvolutionExpressions.h')
-rw-r--r--include/llvm/Analysis/ScalarEvolutionExpressions.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h
index a7cea9d..830143b 100644
--- a/include/llvm/Analysis/ScalarEvolutionExpressions.h
+++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h
@@ -459,6 +459,15 @@ namespace llvm {
return SE.getAddExpr(this, getStepRecurrence(SE));
}
+ bool hasNoUnsignedOverflow() const { return SubclassData & (1 << 0); }
+ void setHasNoUnsignedOverflow(bool B) {
+ SubclassData = (SubclassData & ~(1 << 0)) | (B << 0);
+ }
+ bool hasNoSignedOverflow() const { return SubclassData & (1 << 1); }
+ void setHasNoSignedOverflow(bool B) {
+ SubclassData = (SubclassData & ~(1 << 1)) | (B << 1);
+ }
+
virtual void print(raw_ostream &OS) const;
/// Methods for support type inquiry through isa, cast, and dyn_cast: