Chromium Code Reviews| Index: src/IceOperand.h |
| diff --git a/src/IceOperand.h b/src/IceOperand.h |
| index a20308660ced41885cc20c2d8cdf756a5ee4ffe3..bb390f95fe3f36bd22134a9ff51dc9636e2ddc7c 100644 |
| --- a/src/IceOperand.h |
| +++ b/src/IceOperand.h |
| @@ -441,7 +441,9 @@ public: |
| // Define NoRegisterValue as an enum value so that it can be used as an |
| // argument for the public ctor if desired. |
| enum { NoRegisterValue = std::numeric_limits<BaseType>::max() }; |
| - const static RegNumT NoRegister /* = NoRegisterValue */; |
| + |
| + bool hasValue() const { return Value != NoRegisterValue; } |
| + bool hasNoValue() const { return !hasValue(); } |
| private: |
| BaseType Value = NoRegisterValue; |
| @@ -646,14 +648,14 @@ public: |
| return "lv$" + getName(Func); |
| } |
| - bool hasReg() const { return getRegNum() != RegNumT::NoRegister; } |
| + bool hasReg() const { return getRegNum().hasValue(); } |
| RegNumT getRegNum() const { return RegNum; } |
| void setRegNum(RegNumT NewRegNum) { |
| // Regnum shouldn't be set more than once. |
| assert(!hasReg() || RegNum == NewRegNum); |
| RegNum = NewRegNum; |
| } |
| - bool hasRegTmp() const { return getRegNumTmp() != RegNumT::NoRegister; } |
| + bool hasRegTmp() const { return getRegNumTmp().hasValue(); } |
| RegNumT getRegNumTmp() const { return RegNumTmp; } |
| void setRegNumTmp(RegNumT NewRegNum) { RegNumTmp = NewRegNum; } |
| @@ -711,7 +713,7 @@ public: |
| void dump(const Cfg *Func, Ostream &Str) const override; |
| /// Return reg num of base register, if different from stack/frame register. |
| - virtual RegNumT getBaseRegNum() const { return RegNumT::NoRegister; } |
| + virtual RegNumT getBaseRegNum() const { return RegNumT(); } |
| static bool classof(const Operand *Operand) { |
| OperandKind Kind = Operand->getKind(); |
| @@ -743,9 +745,9 @@ protected: |
| RegClass RegisterClass; |
| /// RegNum is the allocated register, or NoRegister if it isn't |
|
Jim Stichnoth
2016/02/13 18:58:10
/// RegNum is the allocated register (as long as R
rkotlerimgtec
2016/02/14 00:04:05
Done.
|
| /// register-allocated. |
| - RegNumT RegNum = RegNumT::NoRegister; |
| + RegNumT RegNum; |
| /// RegNumTmp is the tentative assignment during register allocation. |
| - RegNumT RegNumTmp = RegNumT::NoRegister; |
| + RegNumT RegNumTmp; |
| /// StackOffset is the canonical location on stack (only if |
| /// RegNum==NoRegister || IsArgument). |
|
Jim Stichnoth
2016/02/13 18:58:10
RegNum.hasNoValue()
rkotlerimgtec
2016/02/14 00:04:05
Done.
|
| int32_t StackOffset = 0; |