1 //===-------- AMDGPUELFStreamer.cpp - ELF Object Output -------------------===//
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
7 //===----------------------------------------------------------------------===//
9 #include "AMDGPUELFStreamer.h"
10 #include "Utils/AMDGPUBaseInfo.h"
11 #include "llvm/BinaryFormat/ELF.h"
12 #include "llvm/MC/MCAsmBackend.h"
13 #include "llvm/MC/MCCodeEmitter.h"
14 #include "llvm/MC/MCObjectWriter.h"
20 class AMDGPUELFStreamer
: public MCELFStreamer
{
22 AMDGPUELFStreamer(const Triple
&T
, MCContext
&Context
,
23 std::unique_ptr
<MCAsmBackend
> MAB
,
24 std::unique_ptr
<MCObjectWriter
> OW
,
25 std::unique_ptr
<MCCodeEmitter
> Emitter
)
26 : MCELFStreamer(Context
, std::move(MAB
), std::move(OW
),
27 std::move(Emitter
)) {}
32 MCELFStreamer
*llvm::createAMDGPUELFStreamer(
33 const Triple
&T
, MCContext
&Context
, std::unique_ptr
<MCAsmBackend
> MAB
,
34 std::unique_ptr
<MCObjectWriter
> OW
, std::unique_ptr
<MCCodeEmitter
> Emitter
,
36 return new AMDGPUELFStreamer(T
, Context
, std::move(MAB
), std::move(OW
),