diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-07-18 22:29:13 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-07-18 22:29:13 +0000 |
commit | 67c033e6b8c935f28b22c1d79cc12d883d61e04d (patch) | |
tree | a1a6105b9e7270e69985aa268a95e774171f5cc5 /llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp | |
parent | 11de9a966a34a7a50611c3179885fefe2c83e6b2 (diff) | |
download | bcm5719-llvm-67c033e6b8c935f28b22c1d79cc12d883d61e04d.tar.gz bcm5719-llvm-67c033e6b8c935f28b22c1d79cc12d883d61e04d.zip |
Move getInitialFrameState from TargetFrameInfo to MCAsmInfo (suggestions for
better location welcome).
llvm-svn: 135438
Diffstat (limited to 'llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp')
-rw-r--r-- | llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp b/llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp index 7d9b29531d6..3c4147bc9f6 100644 --- a/llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp +++ b/llvm/lib/Target/CellSPU/MCTargetDesc/SPUMCTargetDesc.cpp @@ -13,6 +13,7 @@ #include "SPUMCTargetDesc.h" #include "SPUMCAsmInfo.h" +#include "llvm/MC/MachineLocation.h" #include "llvm/MC/MCInstrInfo.h" #include "llvm/MC/MCRegisterInfo.h" #include "llvm/MC/MCSubtargetInfo.h" @@ -62,6 +63,17 @@ extern "C" void LLVMInitializeCellSPUMCSubtargetInfo() { createSPUMCSubtargetInfo); } +static MCAsmInfo *createSPUMCAsmInfo(const Target &T, StringRef TT) { + MCAsmInfo *MAI = new SPULinuxMCAsmInfo(T, TT); + + // Initial state of the frame pointer is R1. + MachineLocation Dst(MachineLocation::VirtualFP); + MachineLocation Src(SPU::R1, 0); + MAI->addInitialFrameState(0, Dst, Src); + + return MAI; +} + extern "C" void LLVMInitializeCellSPUMCAsmInfo() { - RegisterMCAsmInfo<SPULinuxMCAsmInfo> X(TheCellSPUTarget); + RegisterMCAsmInfoFn X(TheCellSPUTarget, createSPUMCAsmInfo); } |