summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM/ARMFrameInfo.h
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2010-11-15 00:06:54 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2010-11-15 00:06:54 +0000
commitf7183edb590b6d644856c29d1e90a2bb724aba08 (patch)
tree293ef6740d264e58dc968dbc471a63d0816f1517 /llvm/lib/Target/ARM/ARMFrameInfo.h
parenta5ab8f10e4f6b47afd697ea024619c484f2568c2 (diff)
downloadbcm5719-llvm-f7183edb590b6d644856c29d1e90a2bb724aba08.tar.gz
bcm5719-llvm-f7183edb590b6d644856c29d1e90a2bb724aba08.zip
First step of huge frame-related refactoring: move emit{Prologue,Epilogue} out of TargetRegisterInfo to TargetFrameInfo, which is definitely much better suitable place
llvm-svn: 119097
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFrameInfo.h')
-rw-r--r--llvm/lib/Target/ARM/ARMFrameInfo.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/llvm/lib/Target/ARM/ARMFrameInfo.h b/llvm/lib/Target/ARM/ARMFrameInfo.h
index d5dae244249..9ea97e86a36 100644
--- a/llvm/lib/Target/ARM/ARMFrameInfo.h
+++ b/llvm/lib/Target/ARM/ARMFrameInfo.h
@@ -19,12 +19,21 @@
#include "llvm/Target/TargetFrameInfo.h"
namespace llvm {
+ class ARMSubtarget;
class ARMFrameInfo : public TargetFrameInfo {
+protected:
+ const ARMSubtarget &STI;
+
public:
- explicit ARMFrameInfo(const ARMSubtarget &ST)
- : TargetFrameInfo(StackGrowsDown, ST.getStackAlignment(), 0, 4) {
+ explicit ARMFrameInfo(const ARMSubtarget &sti)
+ : TargetFrameInfo(StackGrowsDown, sti.getStackAlignment(), 0, 4), STI(sti) {
}
+
+ /// emitProlog/emitEpilog - These methods insert prolog and epilog code into
+ /// the function.
+ void emitPrologue(MachineFunction &MF) const;
+ void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;
};
} // End llvm namespace
OpenPOWER on IntegriCloud