1 //===-- PPCTargetObjectFile.h - PPC Object Info -----------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H
10 #define LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H
12 #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
13 #include "llvm/Target/TargetLoweringObjectFile.h"
14 #include "llvm/Target/TargetMachine.h"
18 /// PPC64LinuxTargetObjectFile - This implementation is used for
19 /// 64-bit PowerPC Linux.
20 class PPC64LinuxTargetObjectFile
: public TargetLoweringObjectFileELF
{
22 void Initialize(MCContext
&Ctx
, const TargetMachine
&TM
) override
;
24 MCSection
*SelectSectionForGlobal(const GlobalObject
*GO
, SectionKind Kind
,
25 const TargetMachine
&TM
) const override
;
27 /// Describe a TLS variable address within debug info.
28 const MCExpr
*getDebugThreadLocalSymbol(const MCSymbol
*Sym
) const override
;
31 } // end namespace llvm