AlphaFrameLowering.h [plain text]
#ifndef ALPHA_FRAMEINFO_H
#define ALPHA_FRAMEINFO_H
#include "Alpha.h"
#include "AlphaSubtarget.h"
#include "llvm/Target/TargetFrameLowering.h"
namespace llvm {
class AlphaSubtarget;
class AlphaFrameLowering : public TargetFrameLowering {
const AlphaSubtarget &STI;
mutable int curgpdist;
public:
explicit AlphaFrameLowering(const AlphaSubtarget &sti)
: TargetFrameLowering(StackGrowsDown, 16, 0), STI(sti), curgpdist(0) {
}
void emitPrologue(MachineFunction &MF) const;
void emitEpilogue(MachineFunction &MF, MachineBasicBlock &MBB) const;
bool hasFP(const MachineFunction &MF) const;
};
}
#endif