X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=blobdiff_plain;f=lib%2FTarget%2FPowerPC%2FPPCTargetObjectFile.h;h=d248791f2cad17a6a850fcaf2b05d592e8c37e21;hp=2d40bc9ceb190e26cb24e4324cda2f24896d27a4;hb=f606a6ed992d5e4e2877419b51e2a9b540b5e3f0;hpb=53351a175df59c0f8b96011f30842d87046fc9d6 diff --git a/lib/Target/PowerPC/PPCTargetObjectFile.h b/lib/Target/PowerPC/PPCTargetObjectFile.h index 2d40bc9ceb1..d248791f2ca 100644 --- a/lib/Target/PowerPC/PPCTargetObjectFile.h +++ b/lib/Target/PowerPC/PPCTargetObjectFile.h @@ -1,4 +1,4 @@ -//===-- llvm/Target/PPCTargetObjectFile.h - PowerPC Object Info -*- C++ -*-===// +//===-- PPCTargetObjectFile.h - PPC Object Info -----------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -7,28 +7,29 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_TARGET_PPC_TARGETOBJECTFILE_H -#define LLVM_TARGET_PPC_TARGETOBJECTFILE_H +#ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H +#define LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h" +#include "llvm/Target/TargetLoweringObjectFile.h" +#include "llvm/Target/TargetMachine.h" namespace llvm { -class MCContext; -class TargetMachine; + /// PPC64LinuxTargetObjectFile - This implementation is used for + /// 64-bit PowerPC Linux. + class PPC64LinuxTargetObjectFile : public TargetLoweringObjectFileELF { -// FIXME: This subclass isn't 100% necessary. It will become obsolete once we -// can place all LSDAs into the TEXT section. See -// . -class PPCMachOTargetObjectFile : public TargetLoweringObjectFileMachO { -public: - PPCMachOTargetObjectFile() : TargetLoweringObjectFileMachO() {} + void Initialize(MCContext &Ctx, const TargetMachine &TM) override; - virtual void Initialize(MCContext &Ctx, const TargetMachine &TM); + MCSection *SelectSectionForGlobal(const GlobalValue *GV, SectionKind Kind, + Mangler &Mang, + const TargetMachine &TM) const override; - virtual unsigned getTTypeEncoding() const; -}; + /// \brief Describe a TLS variable address within debug info. + const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override; + }; -} // end namespace llvm +} // end namespace llvm #endif