[llvm-commits] CVS: llvm/lib/Target/PowerPC/PPCMachOWriter.cpp
Bill Wendling
isanbard at gmail.com
Tue Jan 23 19:40:49 PST 2007
Changes in directory llvm/lib/Target/PowerPC:
PPCMachOWriter.cpp updated: 1.13 -> 1.14
---
Log message:
Move the getJTRelocation method out of here.
---
Diffs of the changes: (+7 -26)
PPCMachOWriter.cpp | 33 +++++++--------------------------
1 files changed, 7 insertions(+), 26 deletions(-)
Index: llvm/lib/Target/PowerPC/PPCMachOWriter.cpp
diff -u llvm/lib/Target/PowerPC/PPCMachOWriter.cpp:1.13 llvm/lib/Target/PowerPC/PPCMachOWriter.cpp:1.14
--- llvm/lib/Target/PowerPC/PPCMachOWriter.cpp:1.13 Wed Jan 17 19:23:11 2007
+++ llvm/lib/Target/PowerPC/PPCMachOWriter.cpp Tue Jan 23 21:40:33 2007
@@ -23,23 +23,11 @@
namespace {
class VISIBILITY_HIDDEN PPCMachOWriter : public MachOWriter {
public:
- PPCMachOWriter(std::ostream &O, PPCTargetMachine &TM) : MachOWriter(O, TM) {
- if (TM.getTargetData()->getPointerSizeInBits() == 64) {
- Header.cputype = MachOHeader::HDR_CPU_TYPE_POWERPC64;
- } else {
- Header.cputype = MachOHeader::HDR_CPU_TYPE_POWERPC;
- }
- Header.cpusubtype = MachOHeader::HDR_CPU_SUBTYPE_POWERPC_ALL;
- }
+ PPCMachOWriter(std::ostream &O, PPCTargetMachine &TM)
+ : MachOWriter(O, TM) {}
virtual void GetTargetRelocation(MachineRelocation &MR, MachOSection &From,
MachOSection &To);
- virtual MachineRelocation GetJTRelocation(unsigned Offset,
- MachineBasicBlock *MBB);
-
- virtual const char *getPassName() const {
- return "PowerPC Mach-O Writer";
- }
// Constants for the relocation r_type field.
// see <mach-o/ppc/reloc.h>
@@ -67,20 +55,20 @@
/// GetTargetRelocation - For the MachineRelocation MR, convert it to one or
/// more PowerPC MachORelocation(s), add the new relocations to the
-/// MachOSection, and rewrite the instruction at the section offset if required
+/// MachOSection, and rewrite the instruction at the section offset if required
/// by that relocation type.
void PPCMachOWriter::GetTargetRelocation(MachineRelocation &MR,
MachOSection &From,
MachOSection &To) {
uint64_t Addr = 0;
-
+
// Keep track of whether or not this is an externally defined relocation.
bool isExtern = false;
-
+
// Get the address of whatever it is we're relocating, if possible.
if (!isExtern)
Addr = (uintptr_t)MR.getResultPointer() + To.addr;
-
+
switch ((PPC::RelocationType)MR.getRelocationType()) {
default: assert(0 && "Unknown PPC relocation type!");
case PPC::reloc_absolute_low_ix:
@@ -89,7 +77,7 @@
case PPC::reloc_vanilla:
{
// FIXME: need to handle 64 bit vanilla relocs
- MachORelocation VANILLA(MR.getMachineCodeOffset(), To.Index, false, 2,
+ MachORelocation VANILLA(MR.getMachineCodeOffset(), To.Index, false, 2,
isExtern, PPC_RELOC_VANILLA);
++From.nreloc;
@@ -165,10 +153,3 @@
}
}
}
-
-MachineRelocation PPCMachOWriter::GetJTRelocation(unsigned Offset,
- MachineBasicBlock *MBB) {
- // FIXME: do something about PIC
- return MachineRelocation::getBB(Offset, PPC::reloc_vanilla, MBB);
-}
-
More information about the llvm-commits
mailing list