33 lines · c
1//===-------- AMDGPUELFStreamer.h - ELF Object Output -----------*- 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-exception6//7//===----------------------------------------------------------------------===//8//9// This is a custom MCELFStreamer which allows us to insert some hooks before10// emitting data into an actual object file.11//12//===----------------------------------------------------------------------===//13 14#ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUELFSTREAMER_H15#define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUELFSTREAMER_H16 17#include <memory>18namespace llvm {19class MCAsmBackend;20class MCCodeEmitter;21class MCContext;22class MCELFStreamer;23class MCObjectWriter;24class Triple;25 26MCELFStreamer *createAMDGPUELFStreamer(const Triple &T, MCContext &Context,27 std::unique_ptr<MCAsmBackend> MAB,28 std::unique_ptr<MCObjectWriter> OW,29 std::unique_ptr<MCCodeEmitter> Emitter);30} // namespace llvm.31 32#endif33