109467b48Spatrick //===-------- AMDGPUELFStreamer.cpp - ELF Object Output -------------------===//
209467b48Spatrick //
309467b48Spatrick // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
409467b48Spatrick // See https://llvm.org/LICENSE.txt for license information.
509467b48Spatrick // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
609467b48Spatrick //
709467b48Spatrick //===----------------------------------------------------------------------===//
809467b48Spatrick 
909467b48Spatrick #include "AMDGPUELFStreamer.h"
1009467b48Spatrick #include "llvm/MC/MCAsmBackend.h"
1109467b48Spatrick #include "llvm/MC/MCCodeEmitter.h"
12*73471bf0Spatrick #include "llvm/MC/MCELFStreamer.h"
1309467b48Spatrick #include "llvm/MC/MCObjectWriter.h"
1409467b48Spatrick 
1509467b48Spatrick using namespace llvm;
1609467b48Spatrick 
1709467b48Spatrick namespace {
1809467b48Spatrick 
1909467b48Spatrick class AMDGPUELFStreamer : public MCELFStreamer {
2009467b48Spatrick public:
AMDGPUELFStreamer(const Triple & T,MCContext & Context,std::unique_ptr<MCAsmBackend> MAB,std::unique_ptr<MCObjectWriter> OW,std::unique_ptr<MCCodeEmitter> Emitter)2109467b48Spatrick   AMDGPUELFStreamer(const Triple &T, MCContext &Context,
2209467b48Spatrick                     std::unique_ptr<MCAsmBackend> MAB,
2309467b48Spatrick                     std::unique_ptr<MCObjectWriter> OW,
2409467b48Spatrick                     std::unique_ptr<MCCodeEmitter> Emitter)
2509467b48Spatrick       : MCELFStreamer(Context, std::move(MAB), std::move(OW),
2609467b48Spatrick                       std::move(Emitter)) {}
2709467b48Spatrick };
2809467b48Spatrick 
2909467b48Spatrick }
3009467b48Spatrick 
createAMDGPUELFStreamer(const Triple & T,MCContext & Context,std::unique_ptr<MCAsmBackend> MAB,std::unique_ptr<MCObjectWriter> OW,std::unique_ptr<MCCodeEmitter> Emitter,bool RelaxAll)3109467b48Spatrick MCELFStreamer *llvm::createAMDGPUELFStreamer(
3209467b48Spatrick     const Triple &T, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB,
3309467b48Spatrick     std::unique_ptr<MCObjectWriter> OW, std::unique_ptr<MCCodeEmitter> Emitter,
3409467b48Spatrick     bool RelaxAll) {
3509467b48Spatrick   return new AMDGPUELFStreamer(T, Context, std::move(MAB), std::move(OW),
3609467b48Spatrick                                std::move(Emitter));
3709467b48Spatrick }
38