xref: /freebsd/contrib/llvm-project/llvm/lib/Target/Sparc/SparcTargetObjectFile.h (revision e8d8bef961a50d4dc22501cde4fb9fb0be1b2532)
1 //===-- SparcTargetObjectFile.h - Sparc 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 
9 #ifndef LLVM_LIB_TARGET_SPARC_SPARCTARGETOBJECTFILE_H
10 #define LLVM_LIB_TARGET_SPARC_SPARCTARGETOBJECTFILE_H
11 
12 #include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
13 
14 namespace llvm {
15 
16 class MCContext;
17 class TargetMachine;
18 
19 class SparcELFTargetObjectFile : public TargetLoweringObjectFileELF {
20 public:
21   SparcELFTargetObjectFile() :
22     TargetLoweringObjectFileELF()
23   {}
24 
25   void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
26 
27   const MCExpr *getTTypeGlobalReference(const GlobalValue *GV,
28                                         unsigned Encoding,
29                                         const TargetMachine &TM,
30                                         MachineModuleInfo *MMI,
31                                         MCStreamer &Streamer) const override;
32 };
33 
34 } // end namespace llvm
35 
36 #endif
37