[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp PPCRegisterInfo.h
Reid Spencer
reid at x10sys.com
Sun Feb 18 19:20:41 PST 2007
Changes in directory llvm/lib/Target/PowerPC:
PPCRegisterInfo.cpp updated: 1.106 -> 1.107
PPCRegisterInfo.h updated: 1.25 -> 1.26
---
Log message:
For PR1207: http://llvm.org/PR1207 :
Revert patches that caused the problem. Evan, please investigate and reapply
when you've discovered the problem.
---
Diffs of the changes: (+9 -32)
PPCRegisterInfo.cpp | 39 +++++++++------------------------------
PPCRegisterInfo.h | 2 --
2 files changed, 9 insertions(+), 32 deletions(-)
Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.106 llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.107
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp:1.106 Sat Feb 17 05:06:00 2007
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp Sun Feb 18 21:20:00 2007
@@ -34,7 +34,6 @@
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/MathExtras.h"
-#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include <cstdlib>
using namespace llvm;
@@ -339,35 +338,6 @@
Darwin32_CalleeSavedRegClasses;
}
-// needsFP - 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.
-//
-static bool needsFP(const MachineFunction &MF) {
- const MachineFrameInfo *MFI = MF.getFrameInfo();
- return NoFramePointerElim || MFI->hasVarSizedObjects();
-}
-
-BitVector PPCRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
- BitVector Reserved(getNumRegs());
- Reserved.set(PPC::R0);
- Reserved.set(PPC::R1);
- Reserved.set(PPC::LR);
- // In Linux, r2 is reserved for the OS.
- if (!Subtarget.isDarwin())
- Reserved.set(PPC::R2);
- // On PPC64, r13 is the thread pointer. Never allocate this register.
- // Note that this is overconservative, as it also prevents allocation of
- // R31 when the FP is not needed.
- if (Subtarget.isPPC64()) {
- Reserved.set(PPC::R13);
- Reserved.set(PPC::R31);
- }
- if (needsFP(MF))
- Reserved.set(PPC::R31);
- return Reserved;
-}
-
/// foldMemoryOperand - PowerPC (like most RISC's) can only fold spills into
/// copy instructions, turning them into load/store instructions.
MachineInstr *PPCRegisterInfo::foldMemoryOperand(MachineInstr *MI,
@@ -428,6 +398,15 @@
// Stack Frame Processing methods
//===----------------------------------------------------------------------===//
+// needsFP - 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.
+//
+static bool needsFP(const MachineFunction &MF) {
+ const MachineFrameInfo *MFI = MF.getFrameInfo();
+ return NoFramePointerElim || MFI->hasVarSizedObjects();
+}
+
// hasFP - Return true if the specified function actually has a dedicated frame
// pointer register. This is true if the function needs a frame pointer and has
// a non-zero stack size.
Index: llvm/lib/Target/PowerPC/PPCRegisterInfo.h
diff -u llvm/lib/Target/PowerPC/PPCRegisterInfo.h:1.25 llvm/lib/Target/PowerPC/PPCRegisterInfo.h:1.26
--- llvm/lib/Target/PowerPC/PPCRegisterInfo.h:1.25 Sat Feb 17 05:06:00 2007
+++ llvm/lib/Target/PowerPC/PPCRegisterInfo.h Sun Feb 18 21:20:00 2007
@@ -58,8 +58,6 @@
const TargetRegisterClass* const* getCalleeSavedRegClasses() const;
- BitVector getReservedRegs(const MachineFunction &MF) const;
-
/// targetHandlesStackFrameRounding - Returns true if the target is
/// responsible for rounding up the stack frame (probably at emitPrologue
/// time).
More information about the llvm-commits
mailing list