llvm.org GIT mirror llvm / 1bb7dd6
Move the frame lowering constructors out of line to avoid circular includes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@211798 91177308-0d34-0410-b5e6-96231b3b80d8 Eric Christopher 6 years ago
4 changed file(s) with 9 addition(s) and 9 deletion(s). Raw diff Collapse all Expand all
3737 static MachineBasicBlock::iterator
3838 skipAlignedDPRCS2Spills(MachineBasicBlock::iterator MI,
3939 unsigned NumAlignedDPRCS2Regs);
40
41 ARMFrameLowering::ARMFrameLowering(const ARMSubtarget &sti)
42 : TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 4),
43 STI(sti) {}
4044
4145 /// hasFP - Return true if the specified function should have a dedicated frame
4246 /// pointer register. This is true if the function has variable sized allocas
1313 #ifndef ARM_FRAMEINFO_H
1414 #define ARM_FRAMEINFO_H
1515
16 #include "ARMSubtarget.h"
1716 #include "llvm/Target/TargetFrameLowering.h"
1817
1918 namespace llvm {
2423 const ARMSubtarget &STI;
2524
2625 public:
27 explicit ARMFrameLowering(const ARMSubtarget &sti)
28 : TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 4),
29 STI(sti) {
30 }
26 explicit ARMFrameLowering(const ARMSubtarget &sti);
3127
3228 /// emitProlog/emitEpilog - These methods insert prolog and epilog code into
3329 /// the function.
1919 #include "llvm/CodeGen/MachineRegisterInfo.h"
2020
2121 using namespace llvm;
22
23 Thumb1FrameLowering::Thumb1FrameLowering(const ARMSubtarget &sti)
24 : ARMFrameLowering(sti) {}
2225
2326 bool Thumb1FrameLowering::hasReservedCallFrame(const MachineFunction &MF) const{
2427 const MachineFrameInfo *FFI = MF.getFrameInfo();
1414 #define LLVM_ARM_THUMB1FRAMELOWERING_H
1515
1616 #include "ARMFrameLowering.h"
17 #include "ARMSubtarget.h"
1817 #include "Thumb1InstrInfo.h"
1918 #include "Thumb1RegisterInfo.h"
2019 #include "llvm/Target/TargetFrameLowering.h"
2322
2423 class Thumb1FrameLowering : public ARMFrameLowering {
2524 public:
26 explicit Thumb1FrameLowering(const ARMSubtarget &sti)
27 : ARMFrameLowering(sti) {
28 }
25 explicit Thumb1FrameLowering(const ARMSubtarget &sti);
2926
3027 /// emitProlog/emitEpilog - These methods insert prolog and epilog code into
3128 /// the function.