From 5078f84c82814e4d33846f9ef54281619d362f8a Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Thu, 20 Aug 2009 17:11:38 +0000 Subject: [PATCH] Rename hasNoUnsignedOverflow and hasNoSignedOverflow to hasNoUnsignedWrap and hasNoSignedWrap, for consistency with the nuw and nsw properties. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79539 91177308-0d34-0410-b5e6-96231b3b80d8 --- .../llvm/Analysis/ScalarEvolutionExpressions.h | 8 ++++---- include/llvm/Bitcode/LLVMBitCodes.h | 4 ++-- include/llvm/InstrTypes.h | 6 +++--- include/llvm/Operator.h | 16 ++++++++-------- lib/Analysis/ScalarEvolution.cpp | 16 ++++++++-------- lib/AsmParser/LLParser.cpp | 8 ++++---- lib/Bitcode/Reader/BitcodeReader.cpp | 8 ++++---- lib/Bitcode/Writer/BitcodeWriter.cpp | 8 ++++---- lib/Transforms/Scalar/InstructionCombining.cpp | 2 +- lib/VMCore/AsmWriter.cpp | 4 ++-- lib/VMCore/Constants.cpp | 2 +- 11 files changed, 41 insertions(+), 41 deletions(-) diff --git a/include/llvm/Analysis/ScalarEvolutionExpressions.h b/include/llvm/Analysis/ScalarEvolutionExpressions.h index 35372be126d..447be0c5e1e 100644 --- a/include/llvm/Analysis/ScalarEvolutionExpressions.h +++ b/include/llvm/Analysis/ScalarEvolutionExpressions.h @@ -426,12 +426,12 @@ namespace llvm { return cast(SE.getAddExpr(this, getStepRecurrence(SE))); } - bool hasNoUnsignedOverflow() const { return SubclassData & (1 << 0); } - void setHasNoUnsignedOverflow(bool B) { + bool hasNoUnsignedWrap() const { return SubclassData & (1 << 0); } + void setHasNoUnsignedWrap(bool B) { SubclassData = (SubclassData & ~(1 << 0)) | (B << 0); } - bool hasNoSignedOverflow() const { return SubclassData & (1 << 1); } - void setHasNoSignedOverflow(bool B) { + bool hasNoSignedWrap() const { return SubclassData & (1 << 1); } + void setHasNoSignedWrap(bool B) { SubclassData = (SubclassData & ~(1 << 1)) | (B << 1); } diff --git a/include/llvm/Bitcode/LLVMBitCodes.h b/include/llvm/Bitcode/LLVMBitCodes.h index a1c8cb04013..2f967d6c9ad 100644 --- a/include/llvm/Bitcode/LLVMBitCodes.h +++ b/include/llvm/Bitcode/LLVMBitCodes.h @@ -180,8 +180,8 @@ namespace bitc { /// OverflowingBinaryOperatorOptionalFlags - Flags for serializing /// OverflowingBinaryOperator's SubclassOptionalData contents. enum OverflowingBinaryOperatorOptionalFlags { - OBO_NO_UNSIGNED_OVERFLOW = 0, - OBO_NO_SIGNED_OVERFLOW = 1 + OBO_NO_UNSIGNED_WRAP = 0, + OBO_NO_SIGNED_WRAP = 1 }; /// SDivOperatorOptionalFlags - Flags for serializing SDivOperator's diff --git a/include/llvm/InstrTypes.h b/include/llvm/InstrTypes.h index 560c32b73ae..35fec63ddfe 100644 --- a/include/llvm/InstrTypes.h +++ b/include/llvm/InstrTypes.h @@ -201,19 +201,19 @@ public: static BinaryOperator *CreateNSWAdd(Value *V1, Value *V2, const Twine &Name = "") { BinaryOperator *BO = CreateAdd(V1, V2, Name); - cast(BO)->setHasNoSignedOverflow(true); + cast(BO)->setHasNoSignedWrap(true); return BO; } static BinaryOperator *CreateNSWAdd(Value *V1, Value *V2, const Twine &Name, BasicBlock *BB) { BinaryOperator *BO = CreateAdd(V1, V2, Name, BB); - cast(BO)->setHasNoSignedOverflow(true); + cast(BO)->setHasNoSignedWrap(true); return BO; } static BinaryOperator *CreateNSWAdd(Value *V1, Value *V2, const Twine &Name, Instruction *I) { BinaryOperator *BO = CreateAdd(V1, V2, Name, I); - cast(BO)->setHasNoSignedOverflow(true); + cast(BO)->setHasNoSignedWrap(true); return BO; } diff --git a/include/llvm/Operator.h b/include/llvm/Operator.h index 285c585db6a..48ac09d54fc 100644 --- a/include/llvm/Operator.h +++ b/include/llvm/Operator.h @@ -69,21 +69,21 @@ public: class OverflowingBinaryOperator : public Operator { ~OverflowingBinaryOperator(); // do not implement public: - /// hasNoUnsignedOverflow - Test whether this operation is known to never - /// undergo unsigned overflow. - bool hasNoUnsignedOverflow() const { + /// hasNoUnsignedWrap - Test whether this operation is known to never + /// undergo unsigned overflow, aka the nuw property. + bool hasNoUnsignedWrap() const { return SubclassOptionalData & (1 << 0); } - void setHasNoUnsignedOverflow(bool B) { + void setHasNoUnsignedWrap(bool B) { SubclassOptionalData = (SubclassOptionalData & ~(1 << 0)) | (B << 0); } - /// hasNoSignedOverflow - Test whether this operation is known to never - /// undergo signed overflow. - bool hasNoSignedOverflow() const { + /// hasNoSignedWrap - Test whether this operation is known to never + /// undergo signed overflow, aka the nsw property. + bool hasNoSignedWrap() const { return SubclassOptionalData & (1 << 1); } - void setHasNoSignedOverflow(bool B) { + void setHasNoSignedWrap(bool B) { SubclassOptionalData = (SubclassOptionalData & ~(1 << 1)) | (B << 1); } diff --git a/lib/Analysis/ScalarEvolution.cpp b/lib/Analysis/ScalarEvolution.cpp index 5c223a3a603..d2c3f58e9cf 100644 --- a/lib/Analysis/ScalarEvolution.cpp +++ b/lib/Analysis/ScalarEvolution.cpp @@ -795,7 +795,7 @@ const SCEV *ScalarEvolution::getZeroExtendExpr(const SCEV *Op, // If we have special knowledge that this addrec won't overflow, // we don't need to do any further analysis. - if (AR->hasNoUnsignedOverflow()) + if (AR->hasNoUnsignedWrap()) return getAddRecExpr(getZeroExtendExpr(Start, Ty), getZeroExtendExpr(Step, Ty), L); @@ -934,7 +934,7 @@ const SCEV *ScalarEvolution::getSignExtendExpr(const SCEV *Op, // If we have special knowledge that this addrec won't overflow, // we don't need to do any further analysis. - if (AR->hasNoSignedOverflow()) + if (AR->hasNoSignedWrap()) return getAddRecExpr(getSignExtendExpr(Start, Ty), getSignExtendExpr(Step, Ty), L); @@ -2497,17 +2497,17 @@ const SCEV *ScalarEvolution::createNodeForPHI(PHINode *PN) { getSCEV(OBO->getOperand(1)) == PHISCEV->getStepRecurrence(*this)) { const SCEVAddRecExpr *PostInc = PHISCEV->getPostIncExpr(*this); - if (OBO->hasNoUnsignedOverflow()) { + if (OBO->hasNoUnsignedWrap()) { const_cast(PHISCEV) - ->setHasNoUnsignedOverflow(true); + ->setHasNoUnsignedWrap(true); const_cast(PostInc) - ->setHasNoUnsignedOverflow(true); + ->setHasNoUnsignedWrap(true); } - if (OBO->hasNoSignedOverflow()) { + if (OBO->hasNoSignedWrap()) { const_cast(PHISCEV) - ->setHasNoSignedOverflow(true); + ->setHasNoSignedWrap(true); const_cast(PostInc) - ->setHasNoSignedOverflow(true); + ->setHasNoSignedWrap(true); } } diff --git a/lib/AsmParser/LLParser.cpp b/lib/AsmParser/LLParser.cpp index ec7bc650c45..0b35335965b 100644 --- a/lib/AsmParser/LLParser.cpp +++ b/lib/AsmParser/LLParser.cpp @@ -2082,9 +2082,9 @@ bool LLParser::ParseValID(ValID &ID) { return Error(ID.Loc,"constexpr requires integer, fp, or vector operands"); Constant *C = ConstantExpr::get(Opc, Val0, Val1); if (NUW) - cast(C)->setHasNoUnsignedOverflow(true); + cast(C)->setHasNoUnsignedWrap(true); if (NSW) - cast(C)->setHasNoSignedOverflow(true); + cast(C)->setHasNoSignedWrap(true); if (Exact) cast(C)->setIsExact(true); ID.ConstantVal = C; @@ -2665,9 +2665,9 @@ bool LLParser::ParseInstruction(Instruction *&Inst, BasicBlock *BB, return Error(ModifierLoc, "nsw only applies to integer operations"); } if (NUW) - cast(Inst)->setHasNoUnsignedOverflow(true); + cast(Inst)->setHasNoUnsignedWrap(true); if (NSW) - cast(Inst)->setHasNoSignedOverflow(true); + cast(Inst)->setHasNoSignedWrap(true); } return Result; } diff --git a/lib/Bitcode/Reader/BitcodeReader.cpp b/lib/Bitcode/Reader/BitcodeReader.cpp index ab560e786d6..df171c55e75 100644 --- a/lib/Bitcode/Reader/BitcodeReader.cpp +++ b/lib/Bitcode/Reader/BitcodeReader.cpp @@ -883,10 +883,10 @@ bool BitcodeReader::ResolveGlobalAndAliasInits() { static void SetOptimizationFlags(Value *V, uint64_t Flags) { if (OverflowingBinaryOperator *OBO = dyn_cast(V)) { - if (Flags & (1 << bitc::OBO_NO_SIGNED_OVERFLOW)) - OBO->setHasNoSignedOverflow(true); - if (Flags & (1 << bitc::OBO_NO_UNSIGNED_OVERFLOW)) - OBO->setHasNoUnsignedOverflow(true); + if (Flags & (1 << bitc::OBO_NO_SIGNED_WRAP)) + OBO->setHasNoSignedWrap(true); + if (Flags & (1 << bitc::OBO_NO_UNSIGNED_WRAP)) + OBO->setHasNoUnsignedWrap(true); } else if (SDivOperator *Div = dyn_cast(V)) { if (Flags & (1 << bitc::SDIV_EXACT)) Div->setIsExact(true); diff --git a/lib/Bitcode/Writer/BitcodeWriter.cpp b/lib/Bitcode/Writer/BitcodeWriter.cpp index 07566a71c3f..6a14cb3bbd1 100644 --- a/lib/Bitcode/Writer/BitcodeWriter.cpp +++ b/lib/Bitcode/Writer/BitcodeWriter.cpp @@ -461,10 +461,10 @@ static uint64_t GetOptimizationFlags(const Value *V) { if (const OverflowingBinaryOperator *OBO = dyn_cast(V)) { - if (OBO->hasNoSignedOverflow()) - Flags |= 1 << bitc::OBO_NO_SIGNED_OVERFLOW; - if (OBO->hasNoUnsignedOverflow()) - Flags |= 1 << bitc::OBO_NO_UNSIGNED_OVERFLOW; + if (OBO->hasNoSignedWrap()) + Flags |= 1 << bitc::OBO_NO_SIGNED_WRAP; + if (OBO->hasNoUnsignedWrap()) + Flags |= 1 << bitc::OBO_NO_UNSIGNED_WRAP; } else if (const SDivOperator *Div = dyn_cast(V)) { if (Div->isExact()) Flags |= 1 << bitc::SDIV_EXACT; diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 5fe8ee876c3..cd901c0b14f 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -3084,7 +3084,7 @@ Instruction *InstCombiner::visitSDiv(BinaryOperator &I) { if (SubOperator *Sub = dyn_cast(Op0)) if (isa(Sub->getOperand(0)) && cast(Sub->getOperand(0))->isNullValue() && - Sub->hasNoSignedOverflow()) + Sub->hasNoSignedWrap()) return BinaryOperator::CreateSDiv(Sub->getOperand(1), ConstantExpr::getNeg(RHS)); } diff --git a/lib/VMCore/AsmWriter.cpp b/lib/VMCore/AsmWriter.cpp index c79c427ba87..9c3f76f0d02 100644 --- a/lib/VMCore/AsmWriter.cpp +++ b/lib/VMCore/AsmWriter.cpp @@ -895,9 +895,9 @@ static void WriteMDNodes(formatted_raw_ostream &Out, TypePrinting &TypePrinter, static void WriteOptimizationInfo(raw_ostream &Out, const User *U) { if (const OverflowingBinaryOperator *OBO = dyn_cast(U)) { - if (OBO->hasNoUnsignedOverflow()) + if (OBO->hasNoUnsignedWrap()) Out << " nuw"; - if (OBO->hasNoSignedOverflow()) + if (OBO->hasNoSignedWrap()) Out << " nsw"; } else if (const SDivOperator *Div = dyn_cast(U)) { if (Div->isExact()) diff --git a/lib/VMCore/Constants.cpp b/lib/VMCore/Constants.cpp index 12483cd9c99..7490b27729b 100644 --- a/lib/VMCore/Constants.cpp +++ b/lib/VMCore/Constants.cpp @@ -634,7 +634,7 @@ Constant* ConstantExpr::getNSWAdd(Constant* C1, Constant* C2) { // Set nsw attribute, assuming constant folding didn't eliminate the // Add. if (AddOperator *Add = dyn_cast(C)) - Add->setHasNoSignedOverflow(true); + Add->setHasNoSignedWrap(true); return C; } -- 2.34.1