mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-23 17:29:19 +00:00
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
This commit is contained in:
parent
e0dd8fd552
commit
1bb7dd619d
@ -39,6 +39,10 @@ static MachineBasicBlock::iterator
|
||||
skipAlignedDPRCS2Spills(MachineBasicBlock::iterator MI,
|
||||
unsigned NumAlignedDPRCS2Regs);
|
||||
|
||||
ARMFrameLowering::ARMFrameLowering(const ARMSubtarget &sti)
|
||||
: TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 4),
|
||||
STI(sti) {}
|
||||
|
||||
/// hasFP - Return true if the specified function should have a dedicated frame
|
||||
/// pointer register. This is true if the function has variable sized allocas
|
||||
/// or if frame pointer elimination is disabled.
|
||||
|
@ -14,7 +14,6 @@
|
||||
#ifndef ARM_FRAMEINFO_H
|
||||
#define ARM_FRAMEINFO_H
|
||||
|
||||
#include "ARMSubtarget.h"
|
||||
#include "llvm/Target/TargetFrameLowering.h"
|
||||
|
||||
namespace llvm {
|
||||
@ -25,10 +24,7 @@ protected:
|
||||
const ARMSubtarget &STI;
|
||||
|
||||
public:
|
||||
explicit ARMFrameLowering(const ARMSubtarget &sti)
|
||||
: TargetFrameLowering(StackGrowsDown, sti.getStackAlignment(), 0, 4),
|
||||
STI(sti) {
|
||||
}
|
||||
explicit ARMFrameLowering(const ARMSubtarget &sti);
|
||||
|
||||
/// emitProlog/emitEpilog - These methods insert prolog and epilog code into
|
||||
/// the function.
|
||||
|
@ -21,6 +21,9 @@
|
||||
|
||||
using namespace llvm;
|
||||
|
||||
Thumb1FrameLowering::Thumb1FrameLowering(const ARMSubtarget &sti)
|
||||
: ARMFrameLowering(sti) {}
|
||||
|
||||
bool Thumb1FrameLowering::hasReservedCallFrame(const MachineFunction &MF) const{
|
||||
const MachineFrameInfo *FFI = MF.getFrameInfo();
|
||||
unsigned CFSize = FFI->getMaxCallFrameSize();
|
||||
|
@ -15,7 +15,6 @@
|
||||
#define LLVM_ARM_THUMB1FRAMELOWERING_H
|
||||
|
||||
#include "ARMFrameLowering.h"
|
||||
#include "ARMSubtarget.h"
|
||||
#include "Thumb1InstrInfo.h"
|
||||
#include "Thumb1RegisterInfo.h"
|
||||
#include "llvm/Target/TargetFrameLowering.h"
|
||||
@ -24,9 +23,7 @@ namespace llvm {
|
||||
|
||||
class Thumb1FrameLowering : public ARMFrameLowering {
|
||||
public:
|
||||
explicit Thumb1FrameLowering(const ARMSubtarget &sti)
|
||||
: ARMFrameLowering(sti) {
|
||||
}
|
||||
explicit Thumb1FrameLowering(const ARMSubtarget &sti);
|
||||
|
||||
/// emitProlog/emitEpilog - These methods insert prolog and epilog code into
|
||||
/// the function.
|
||||
|
Loading…
Reference in New Issue
Block a user