1e135ffd5STom Stellard //===-------- AMDGPUELFStreamer.cpp - ELF Object Output -------------------===//
2e135ffd5STom Stellard //
32946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
42946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
52946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6e135ffd5STom Stellard //
7e135ffd5STom Stellard //===----------------------------------------------------------------------===//
8e135ffd5STom Stellard 
9e135ffd5STom Stellard #include "AMDGPUELFStreamer.h"
1002d33054SLang Hames #include "llvm/MC/MCAsmBackend.h"
112241ffa4SLang Hames #include "llvm/MC/MCCodeEmitter.h"
12*6a87e9b0Sdfukalov #include "llvm/MC/MCELFStreamer.h"
13f7b81db7SPeter Collingbourne #include "llvm/MC/MCObjectWriter.h"
14e135ffd5STom Stellard 
15e135ffd5STom Stellard using namespace llvm;
16e135ffd5STom Stellard 
17f7b81db7SPeter Collingbourne namespace {
18f7b81db7SPeter Collingbourne 
19f7b81db7SPeter Collingbourne class AMDGPUELFStreamer : public MCELFStreamer {
20f7b81db7SPeter Collingbourne public:
AMDGPUELFStreamer(const Triple & T,MCContext & Context,std::unique_ptr<MCAsmBackend> MAB,std::unique_ptr<MCObjectWriter> OW,std::unique_ptr<MCCodeEmitter> Emitter)21f7b81db7SPeter Collingbourne   AMDGPUELFStreamer(const Triple &T, MCContext &Context,
22f7b81db7SPeter Collingbourne                     std::unique_ptr<MCAsmBackend> MAB,
23f7b81db7SPeter Collingbourne                     std::unique_ptr<MCObjectWriter> OW,
24f7b81db7SPeter Collingbourne                     std::unique_ptr<MCCodeEmitter> Emitter)
25f7b81db7SPeter Collingbourne       : MCELFStreamer(Context, std::move(MAB), std::move(OW),
26f7b81db7SPeter Collingbourne                       std::move(Emitter)) {}
27f7b81db7SPeter Collingbourne };
28f7b81db7SPeter Collingbourne 
29f7b81db7SPeter Collingbourne }
30f7b81db7SPeter Collingbourne 
createAMDGPUELFStreamer(const Triple & T,MCContext & Context,std::unique_ptr<MCAsmBackend> MAB,std::unique_ptr<MCObjectWriter> OW,std::unique_ptr<MCCodeEmitter> Emitter,bool RelaxAll)3102d33054SLang Hames MCELFStreamer *llvm::createAMDGPUELFStreamer(
3202d33054SLang Hames     const Triple &T, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB,
33f7b81db7SPeter Collingbourne     std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter,
342241ffa4SLang Hames     bool RelaxAll) {
35f7b81db7SPeter Collingbourne   return new AMDGPUELFStreamer(T, Context, std::move(MAB), std::move(OW),
362241ffa4SLang Hames                                std::move(Emitter));
37e135ffd5STom Stellard }
38