1262261Sdim//===-- SparcTargetObjectFile.h - Sparc Object Info -------------*- C++ -*-===//
2262261Sdim//
3353358Sdim// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4353358Sdim// See https://llvm.org/LICENSE.txt for license information.
5353358Sdim// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6262261Sdim//
7262261Sdim//===----------------------------------------------------------------------===//
8262261Sdim
9280031Sdim#ifndef LLVM_LIB_TARGET_SPARC_SPARCTARGETOBJECTFILE_H
10280031Sdim#define LLVM_LIB_TARGET_SPARC_SPARCTARGETOBJECTFILE_H
11262261Sdim
12262261Sdim#include "llvm/CodeGen/TargetLoweringObjectFileImpl.h"
13262261Sdim
14262261Sdimnamespace llvm {
15262261Sdim
16262261Sdimclass MCContext;
17262261Sdimclass TargetMachine;
18262261Sdim
19262261Sdimclass SparcELFTargetObjectFile : public TargetLoweringObjectFileELF {
20262261Sdimpublic:
21262261Sdim  SparcELFTargetObjectFile() :
22262261Sdim    TargetLoweringObjectFileELF()
23262261Sdim  {}
24262261Sdim
25321369Sdim  void Initialize(MCContext &Ctx, const TargetMachine &TM) override;
26321369Sdim
27314564Sdim  const MCExpr *getTTypeGlobalReference(const GlobalValue *GV,
28314564Sdim                                        unsigned Encoding,
29314564Sdim                                        const TargetMachine &TM,
30314564Sdim                                        MachineModuleInfo *MMI,
31314564Sdim                                        MCStreamer &Streamer) const override;
32262261Sdim};
33262261Sdim
34262261Sdim} // end namespace llvm
35262261Sdim
36262261Sdim#endif
37