diff options
Diffstat (limited to 'include/llvm/Target/TargetFrameLowering.h')
-rw-r--r-- | include/llvm/Target/TargetFrameLowering.h | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/include/llvm/Target/TargetFrameLowering.h b/include/llvm/Target/TargetFrameLowering.h index 1958f90f9b..6a35fdef7d 100644 --- a/include/llvm/Target/TargetFrameLowering.h +++ b/include/llvm/Target/TargetFrameLowering.h @@ -48,11 +48,18 @@ private: unsigned TransientStackAlignment; int LocalAreaOffset; bool StackRealignable; + + // @LOCALMOD-BEGIN + // TODO(pdox): Refactor this and upstream it, to get rid of the + // assumption that StackSlotSize == PointerSize. + unsigned StackSlotSize; + // @LOCALMOD-END public: TargetFrameLowering(StackDirection D, unsigned StackAl, int LAO, - unsigned TransAl = 1, bool StackReal = true) + unsigned TransAl = 1, bool StackReal = true, + unsigned SlotSize = 0) // @LOCALMOD : StackDir(D), StackAlignment(StackAl), TransientStackAlignment(TransAl), - LocalAreaOffset(LAO), StackRealignable(StackReal) {} + LocalAreaOffset(LAO), StackRealignable(StackReal), StackSlotSize(SlotSize) {} virtual ~TargetFrameLowering(); @@ -63,6 +70,11 @@ public: /// StackDirection getStackGrowthDirection() const { return StackDir; } + // @LOCALMOD-BEGIN + /// getStackSlotSize - Return the size of a stack slot + unsigned getStackSlotSize() const { return StackSlotSize; } + // @LOCALMOD-END + /// getStackAlignment - This method returns the number of bytes to which the /// stack pointer must be aligned on entry to a function. Typically, this /// is the largest alignment for any data object in the target. |