Chromium Code Reviews| Index: src/IceOperand.h |
| diff --git a/src/IceOperand.h b/src/IceOperand.h |
| index 8ad78a59c3576a2475be93e01d2d7d46333f2d08..eff4ee05e7dc4b3b217112ceeda85bc61bc5f2d8 100644 |
| --- a/src/IceOperand.h |
| +++ b/src/IceOperand.h |
| @@ -512,6 +512,13 @@ public: |
| void setRegClass(uint8_t RC) { RegisterClass = static_cast<RegClass>(RC); } |
| RegClass getRegClass() const { return RegisterClass; } |
| + void setRematerializable(int32_t NewRegNum, int32_t NewOffset) { |
|
Jim Stichnoth
2015/11/11 17:39:45
I would group these methods with the RegRequiremen
sehr
2015/11/11 22:14:10
Done.
|
| + IsRematerializable = true; |
| + setRegNum(NewRegNum); |
| + setStackOffset(NewOffset); |
| + setMustHaveReg(); |
| + } |
| + bool isRematerializable() const { return IsRematerializable; } |
| LiveRange &getLiveRange() { return Live; } |
| const LiveRange &getLiveRange() const { return Live; } |
| @@ -573,6 +580,9 @@ protected: |
| /// and validating live ranges. This is usually reserved for the stack |
| /// pointer and other physical registers specifically referenced by name. |
| bool IgnoreLiveness = false; |
| + // If IsRematerializable, RegNum keeps track of which register (stack or frame |
| + // pointer), plus and StackOffset is the known offset from that register. |
|
Jim Stichnoth
2015/11/11 17:39:45
s/plus and/and/
sehr
2015/11/11 22:14:10
Done.
|
| + bool IsRematerializable = false; |
| RegRequirement RegRequirement = RR_MayHaveRegister; |
| RegClass RegisterClass; |
| /// RegNum is the allocated register, or NoRegister if it isn't |