summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/CellSPU
diff options
context:
space:
mode:
authorAnton Korobeynikov <asl@math.spbu.ru>2010-11-18 23:25:52 +0000
committerAnton Korobeynikov <asl@math.spbu.ru>2010-11-18 23:25:52 +0000
commit14ee344944cad9a61ff15e113c27df093d851ff1 (patch)
treef6888cee9de9a226327cf8a1952493116cd282fb /llvm/lib/Target/CellSPU
parenta391c97bd0032c0b5af03cde95f7c40683c02be8 (diff)
downloadbcm5719-llvm-14ee344944cad9a61ff15e113c27df093d851ff1.tar.gz
bcm5719-llvm-14ee344944cad9a61ff15e113c27df093d851ff1.zip
Move getInitialFrameState() to TargetFrameInfo
llvm-svn: 119754
Diffstat (limited to 'llvm/lib/Target/CellSPU')
-rw-r--r--llvm/lib/Target/CellSPU/SPUFrameInfo.cpp7
-rw-r--r--llvm/lib/Target/CellSPU/SPUFrameInfo.h3
-rw-r--r--llvm/lib/Target/CellSPU/SPURegisterInfo.cpp10
-rw-r--r--llvm/lib/Target/CellSPU/SPURegisterInfo.h2
4 files changed, 10 insertions, 12 deletions
diff --git a/llvm/lib/Target/CellSPU/SPUFrameInfo.cpp b/llvm/lib/Target/CellSPU/SPUFrameInfo.cpp
index b1a09ad553f..114d85848bc 100644
--- a/llvm/lib/Target/CellSPU/SPUFrameInfo.cpp
+++ b/llvm/lib/Target/CellSPU/SPUFrameInfo.cpp
@@ -248,3 +248,10 @@ void SPUFrameInfo::emitEpilogue(MachineFunction &MF,
}
}
}
+
+void SPUFrameInfo::getInitialFrameState(std::vector<MachineMove> &Moves) const {
+ // Initial state of the frame pointer is R1.
+ MachineLocation Dst(MachineLocation::VirtualFP);
+ MachineLocation Src(SPU::R1, 0);
+ Moves.push_back(MachineMove(0, Dst, Src));
+}
diff --git a/llvm/lib/Target/CellSPU/SPUFrameInfo.h b/llvm/lib/Target/CellSPU/SPUFrameInfo.h
index a705a9fcabe..f1cb254ed08 100644
--- a/llvm/lib/Target/CellSPU/SPUFrameInfo.h
+++ b/llvm/lib/Target/CellSPU/SPUFrameInfo.h
@@ -40,6 +40,9 @@ namespace llvm {
//! Prediate: Target has dedicated frame pointer
bool hasFP(const MachineFunction &MF) const;
+ //! Perform target-specific stack frame setup.
+ void getInitialFrameState(std::vector<MachineMove> &Moves) const;
+
//! Return a function's saved spill slots
/*!
For CellSPU, a function's saved spill slots is just the link register.
diff --git a/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp b/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
index f399437e45a..405994a8f08 100644
--- a/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
+++ b/llvm/lib/Target/CellSPU/SPURegisterInfo.cpp
@@ -340,16 +340,6 @@ SPURegisterInfo::getFrameRegister(const MachineFunction &MF) const
return SPU::R1;
}
-void
-SPURegisterInfo::getInitialFrameState(std::vector<MachineMove> &Moves) const
-{
- // Initial state of the frame pointer is R1.
- MachineLocation Dst(MachineLocation::VirtualFP);
- MachineLocation Src(SPU::R1, 0);
- Moves.push_back(MachineMove(0, Dst, Src));
-}
-
-
int
SPURegisterInfo::getDwarfRegNum(unsigned RegNum, bool isEH) const {
// FIXME: Most probably dwarf numbers differs for Linux and Darwin
diff --git a/llvm/lib/Target/CellSPU/SPURegisterInfo.h b/llvm/lib/Target/CellSPU/SPURegisterInfo.h
index 70eeaf94b29..9942fe115ab 100644
--- a/llvm/lib/Target/CellSPU/SPURegisterInfo.h
+++ b/llvm/lib/Target/CellSPU/SPURegisterInfo.h
@@ -71,8 +71,6 @@ namespace llvm {
unsigned getRARegister() const;
//! Get the stack frame register (SP, aka R1)
unsigned getFrameRegister(const MachineFunction &MF) const;
- //! Perform target-specific stack frame setup.
- void getInitialFrameState(std::vector<MachineMove> &Moves) const;
//------------------------------------------------------------------------
// New methods added:
OpenPOWER on IntegriCloud