llvm-6502/lib/Target/XCore/XCoreFrameInfo.h
Anton Korobeynikov d9e3385ced Move getInitialFrameState() to TargetFrameInfo
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119754 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-18 23:25:52 +00:00

46 lines
1.3 KiB
C++

//===-- XCoreFrameInfo.h - Frame info for XCore Target -----------*- C++ -*-==//
//
// The LLVM Compiler Infrastructure
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
//
// This file contains XCore frame information that doesn't fit anywhere else
// cleanly...
//
//===----------------------------------------------------------------------===//
#ifndef XCOREFRAMEINFO_H
#define XCOREFRAMEINFO_H
#include "llvm/Target/TargetFrameInfo.h"
#include "llvm/Target/TargetMachine.h"
namespace llvm {
class XCoreSubtarget;
class XCoreFrameInfo: public TargetFrameInfo {
const XCoreSubtarget &STI;
public:
XCoreFrameInfo(const XCoreSubtarget &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;
bool hasFP(const MachineFunction &MF) const;
void getInitialFrameState(std::vector<MachineMove> &Moves) const;
//! Stack slot size (4 bytes)
static int stackSlotSize() {
return 4;
}
};
}
#endif // XCOREFRAMEINFO_H