| Index: src/IceOperand.h
|
| diff --git a/src/IceOperand.h b/src/IceOperand.h
|
| index 91e9de0f3be83633cf5638664f972907083f0576..61de5ecb2085fb631c15604179d89f01b615ea56 100644
|
| --- a/src/IceOperand.h
|
| +++ b/src/IceOperand.h
|
| @@ -534,17 +534,16 @@ public:
|
| return "lv$" + getName(Func);
|
| }
|
|
|
| - static constexpr int32_t NoRegister = -1;
|
| - bool hasReg() const { return getRegNum() != NoRegister; }
|
| - int32_t getRegNum() const { return RegNum; }
|
| - void setRegNum(int32_t NewRegNum) {
|
| + bool hasReg() const { return getRegNum() != RegNumT::NoRegister; }
|
| + 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() != NoRegister; }
|
| - int32_t getRegNumTmp() const { return RegNumTmp; }
|
| - void setRegNumTmp(int32_t NewRegNum) { RegNumTmp = NewRegNum; }
|
| + bool hasRegTmp() const { return getRegNumTmp() != RegNumT::NoRegister; }
|
| + RegNumT getRegNumTmp() const { return RegNumTmp; }
|
| + void setRegNumTmp(RegNumT NewRegNum) { RegNumTmp = NewRegNum; }
|
|
|
| RegWeight getWeight(const Cfg *Func) const;
|
|
|
| @@ -554,7 +553,7 @@ public:
|
| bool mustNotHaveReg() const {
|
| return RegRequirement == RR_MustNotHaveRegister;
|
| }
|
| - void setRematerializable(int32_t NewRegNum, int32_t NewOffset) {
|
| + void setRematerializable(RegNumT NewRegNum, int32_t NewOffset) {
|
| IsRematerializable = true;
|
| setRegNum(NewRegNum);
|
| setStackOffset(NewOffset);
|
| @@ -593,14 +592,14 @@ public:
|
| /// IsImplicitArgument, IgnoreLiveness, RegNumTmp, Live, LoVar, HiVar,
|
| /// VarsReal. If NewRegNum!=NoRegister, then that register assignment is made
|
| /// instead of copying the existing assignment.
|
| - const Variable *asType(Type Ty, int32_t NewRegNum) const;
|
| + const Variable *asType(Type Ty, RegNumT NewRegNum) const;
|
|
|
| void emit(const Cfg *Func) const override;
|
| using Operand::dump;
|
| void dump(const Cfg *Func, Ostream &Str) const override;
|
|
|
| /// Return reg num of base register, if different from stack/frame register.
|
| - virtual int32_t getBaseRegNum() const { return NoRegister; }
|
| + virtual RegNumT getBaseRegNum() const { return RegNumT::NoRegister; }
|
|
|
| static bool classof(const Operand *Operand) {
|
| OperandKind Kind = Operand->getKind();
|
| @@ -632,9 +631,9 @@ protected:
|
| RegClass RegisterClass;
|
| /// RegNum is the allocated register, or NoRegister if it isn't
|
| /// register-allocated.
|
| - int32_t RegNum = NoRegister;
|
| + RegNumT RegNum = RegNumT::NoRegister;
|
| /// RegNumTmp is the tentative assignment during register allocation.
|
| - int32_t RegNumTmp = NoRegister;
|
| + RegNumT RegNumTmp = RegNumT::NoRegister;
|
| /// StackOffset is the canonical location on stack (only if
|
| /// RegNum==NoRegister || IsArgument).
|
| int32_t StackOffset = 0;
|
|
|