xref: /llvm-project/llvm/lib/Target/PowerPC/PPCTargetObjectFile.h (revision 2946cd701067404b99c39fb29dc9c74bd7193eb3)
122d40dcfSBill Schmidt //===-- PPCTargetObjectFile.h - PPC Object Info -----------------*- C++ -*-===//
222d40dcfSBill Schmidt //
3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
622d40dcfSBill Schmidt //
722d40dcfSBill Schmidt //===----------------------------------------------------------------------===//
822d40dcfSBill Schmidt 
9a7c40ef0SBenjamin Kramer #ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H
10a7c40ef0SBenjamin Kramer #define LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H
1122d40dcfSBill Schmidt 
1222d40dcfSBill Schmidt #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
136054e650SDavid Blaikie #include "llvm/Target/TargetLoweringObjectFile.h"
1422d40dcfSBill Schmidt #include "llvm/Target/TargetMachine.h"
1522d40dcfSBill Schmidt 
1622d40dcfSBill Schmidt namespace llvm {
1722d40dcfSBill Schmidt 
1822d40dcfSBill Schmidt   /// PPC64LinuxTargetObjectFile - This implementation is used for
1922d40dcfSBill Schmidt   /// 64-bit PowerPC Linux.
2022d40dcfSBill Schmidt   class PPC64LinuxTargetObjectFile : public TargetLoweringObjectFileELF {
2122d40dcfSBill Schmidt 
2273156025SCraig Topper     void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
2322d40dcfSBill Schmidt 
246733564eSPeter Collingbourne     MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind,
2573156025SCraig Topper                                       const TargetMachine &TM) const override;
260f039824SUlrich Weigand 
275f8f34e4SAdrian Prantl     /// Describe a TLS variable address within debug info.
2873156025SCraig Topper     const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override;
2922d40dcfSBill Schmidt   };
3022d40dcfSBill Schmidt 
3122d40dcfSBill Schmidt }  // end namespace llvm
3222d40dcfSBill Schmidt 
3322d40dcfSBill Schmidt #endif
34