From: Johannes Doerfert Date: Wed, 22 Apr 2020 21:02:10 +0000 (-0500) Subject: [Attributor][NFC] Add `const` and missing state constructors X-Git-Tag: llvmorg-12-init~7993 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2891b007e33136fd5d75b13a2c2eec6f8b5b2657;p=platform%2Fupstream%2Fllvm.git [Attributor][NFC] Add `const` and missing state constructors --- diff --git a/llvm/include/llvm/Transforms/IPO/Attributor.h b/llvm/include/llvm/Transforms/IPO/Attributor.h index 3002a111..c4ace30 100644 --- a/llvm/include/llvm/Transforms/IPO/Attributor.h +++ b/llvm/include/llvm/Transforms/IPO/Attributor.h @@ -1360,6 +1360,9 @@ struct IntegerStateBase : public AbstractState { /// Return the worst possible representable state. static constexpr base_t getWorstState() { return WorstState; } + static constexpr base_t getWorstState(const IntegerStateBase &) { + return getWorstState(); + } /// See AbstractState::isValidState() /// NOTE: For now we simply pretend that the worst possible state is invalid. @@ -2273,6 +2276,16 @@ struct DerefState : AbstractState { static DerefState getBestState() { return DerefState(); } static DerefState getBestState(const DerefState &) { return getBestState(); } + /// Return the worst possible representable state. + static DerefState getWorstState() { + DerefState DS; + DS.indicatePessimisticFixpoint(); + return DS; + } + static DerefState getWorstState(const DerefState &) { + return getWorstState(); + } + /// State representing for dereferenceable bytes. IncIntegerState<> DerefBytesState; @@ -2363,13 +2376,13 @@ struct DerefState : AbstractState { } /// Equality for DerefState. - bool operator==(const DerefState &R) { + bool operator==(const DerefState &R) const { return this->DerefBytesState == R.DerefBytesState && this->GlobalState == R.GlobalState; } /// Inequality for DerefState. - bool operator!=(const DerefState &R) { return !(*this == R); } + bool operator!=(const DerefState &R) const { return !(*this == R); } /// See IntegerStateBase::operator^= DerefState operator^=(const DerefState &R) {