From d3ff30455707d479dfb883b3ea12794bb37b91b3 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Fri, 24 Jul 2009 01:01:06 +0000 Subject: [PATCH] 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 --- include/llvm/Analysis/ScalarEvolutionExpressions.h | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h index a7cea9dfb56..830143b90e0 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: -- 2.34.1