diff options
Diffstat (limited to 'contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h')
-rw-r--r-- | contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h b/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h index 76723586c66e..26c5b63fec6c 100644 --- a/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h +++ b/contrib/llvm/lib/Target/Hexagon/HexagonMachineFunctionInfo.h @@ -27,7 +27,8 @@ class HexagonMachineFunctionInfo : public MachineFunctionInfo { // returning the value of the returned struct in a register. This field // holds the virtual register into which the sret argument is passed. unsigned SRetReturnReg; - unsigned StackAlignBaseReg; + unsigned StackAlignBaseVReg; // Aligned-stack base register (virtual) + unsigned StackAlignBasePhysReg; // (physical) std::vector<MachineInstr*> AllocaAdjustInsts; int VarArgsFrameIndex; bool HasClobberLR; @@ -36,13 +37,12 @@ class HexagonMachineFunctionInfo : public MachineFunctionInfo { virtual void anchor(); public: - HexagonMachineFunctionInfo() : SRetReturnReg(0), StackAlignBaseReg(0), - HasClobberLR(0), HasEHReturn(false) {} + HexagonMachineFunctionInfo() : SRetReturnReg(0), StackAlignBaseVReg(0), + StackAlignBasePhysReg(0), HasClobberLR(0), HasEHReturn(false) {} HexagonMachineFunctionInfo(MachineFunction &MF) : SRetReturnReg(0), - StackAlignBaseReg(0), - HasClobberLR(0), - HasEHReturn(false) {} + StackAlignBaseVReg(0), StackAlignBasePhysReg(0), HasClobberLR(0), + HasEHReturn(false) {} unsigned getSRetReturnReg() const { return SRetReturnReg; } void setSRetReturnReg(unsigned Reg) { SRetReturnReg = Reg; } @@ -77,8 +77,11 @@ public: bool hasEHReturn() const { return HasEHReturn; }; void setHasEHReturn(bool H = true) { HasEHReturn = H; }; - void setStackAlignBaseVReg(unsigned R) { StackAlignBaseReg = R; } - unsigned getStackAlignBaseVReg() const { return StackAlignBaseReg; } + void setStackAlignBaseVReg(unsigned R) { StackAlignBaseVReg = R; } + unsigned getStackAlignBaseVReg() const { return StackAlignBaseVReg; } + + void setStackAlignBasePhysReg(unsigned R) { StackAlignBasePhysReg = R; } + unsigned getStackAlignBasePhysReg() const { return StackAlignBasePhysReg; } }; } // End llvm namespace |