blob: 41e9063a759e88f9bf4e1d72a57da9fd8b4dddfb [file] [log] [blame]
Matt Arsenault6b6a2c32016-03-11 08:00:27 +00001//===-------- AMDGPUELFStreamer.h - ELF Object Output -----------*- C++ -*-===//
Tom Stellarde135ffd2015-09-25 21:41:28 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This is a custom MCELFStreamer which allows us to insert some hooks before
11// emitting data into an actual object file.
12//
13//===----------------------------------------------------------------------===//
14
15#ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUELFSTREAMER_H
16#define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_AMDGPUELFSTREAMER_H
17
18#include "llvm/MC/MCELFStreamer.h"
19
20namespace llvm {
21class MCAsmBackend;
22class MCCodeEmitter;
23class MCContext;
24class MCSubtargetInfo;
25
Konstantin Zhuravlyovaa0835a2017-10-05 16:19:18 +000026MCELFStreamer *createAMDGPUELFStreamer(const Triple &T, MCContext &Context,
Lang Hames02d33052017-10-11 01:57:21 +000027 std::unique_ptr<MCAsmBackend> MAB,
Peter Collingbournef7b81db2018-05-18 18:26:45 +000028 std::unique_ptr<MCObjectWriter> OW,
Lang Hames2241ffa2017-10-11 23:34:47 +000029 std::unique_ptr<MCCodeEmitter> Emitter,
30 bool RelaxAll);
Tom Stellarde135ffd2015-09-25 21:41:28 +000031} // namespace llvm.
32
33#endif