PPCTargetObjectFile.h revision 276479
177943Sdfr//===-- PPCTargetObjectFile.h - PPC Object Info -----------------*- C++ -*-===//
277943Sdfr//
377943Sdfr//                     The LLVM Compiler Infrastructure
477943Sdfr//
577943Sdfr// This file is distributed under the University of Illinois Open Source
677943Sdfr// License. See LICENSE.TXT for details.
777943Sdfr//
877943Sdfr//===----------------------------------------------------------------------===//
977943Sdfr
1077943Sdfr#ifndef LLVM_TARGET_PPC_TARGETOBJECTFILE_H
1177943Sdfr#define LLVM_TARGET_PPC_TARGETOBJECTFILE_H
1277943Sdfr
1377943Sdfr#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
1477943Sdfr#include "llvm/Target/TargetLoweringObjectFile.h"
1577943Sdfr#include "llvm/Target/TargetMachine.h"
1677943Sdfr
1777943Sdfrnamespace llvm {
1877943Sdfr
1977943Sdfr  /// PPC64LinuxTargetObjectFile - This implementation is used for
2077943Sdfr  /// 64-bit PowerPC Linux.
2177943Sdfr  class PPC64LinuxTargetObjectFile : public TargetLoweringObjectFileELF {
2277943Sdfr
2377943Sdfr    void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
2477943Sdfr
2577943Sdfr    const MCSection *SelectSectionForGlobal(const GlobalValue *GV,
2677943Sdfr                                        SectionKind Kind, Mangler &Mang,
2777943Sdfr                                        const TargetMachine &TM) const override;
2877943Sdfr
2977943Sdfr    /// \brief Describe a TLS variable address within debug info.
3077943Sdfr    const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override;
3177943Sdfr  };
3277943Sdfr
3377943Sdfr}  // end namespace llvm
3477943Sdfr
3577943Sdfr#endif
3677943Sdfr