diff options
Diffstat (limited to 'include/llvm/Target/TargetFrameLowering.h')
-rw-r--r-- | include/llvm/Target/TargetFrameLowering.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/include/llvm/Target/TargetFrameLowering.h b/include/llvm/Target/TargetFrameLowering.h index d56db7b511..7df3bfa473 100644 --- a/include/llvm/Target/TargetFrameLowering.h +++ b/include/llvm/Target/TargetFrameLowering.h @@ -48,11 +48,19 @@ private: unsigned StackAlignment; unsigned TransientStackAlignment; int LocalAreaOffset; + + // @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) + TargetFrameLowering(StackDirection D, + unsigned StackAl, int LAO, + unsigned TransAl = 1, + unsigned SlotSize = 0) // @LOCALMOD : StackDir(D), StackAlignment(StackAl), TransientStackAlignment(TransAl), - LocalAreaOffset(LAO) {} + LocalAreaOffset(LAO), StackSlotSize(SlotSize) {} virtual ~TargetFrameLowering(); @@ -63,6 +71,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. |