PPCTargetObjectFile.h 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. //===-- PPCTargetObjectFile.h - PPC Object Info -----------------*- C++ -*-===//
  2. //
  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
  6. //
  7. //===----------------------------------------------------------------------===//
  8. #ifndef LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H
  9. #define LLVM_LIB_TARGET_POWERPC_PPCTARGETOBJECTFILE_H
  10. #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
  11. #include "llvm/Target/TargetLoweringObjectFile.h"
  12. #include "llvm/Target/TargetMachine.h"
  13. namespace llvm {
  14. /// PPC64LinuxTargetObjectFile - This implementation is used for
  15. /// 64-bit PowerPC Linux.
  16. class PPC64LinuxTargetObjectFile : public TargetLoweringObjectFileELF {
  17. void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
  18. MCSection *SelectSectionForGlobal(const GlobalObject *GO, SectionKind Kind,
  19. const TargetMachine &TM) const override;
  20. /// Describe a TLS variable address within debug info.
  21. const MCExpr *getDebugThreadLocalSymbol(const MCSymbol *Sym) const override;
  22. };
  23. } // end namespace llvm
  24. #endif