summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2017-10-11 23:34:47 +0000
committerLang Hames <lhames@gmail.com>2017-10-11 23:34:47 +0000
commit2241ffa43cee14361757e9dbdee01161030d1656 (patch)
tree5c45b1e1a054f4ed236085ece5cc97200b5dc230 /llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
parent337462b36512cc001891a98fb98fa5693651722f (diff)
downloadbcm5719-llvm-2241ffa43cee14361757e9dbdee01161030d1656.tar.gz
bcm5719-llvm-2241ffa43cee14361757e9dbdee01161030d1656.zip
[MC] Have MCObjectStreamer take its MCAsmBackend argument via unique_ptr.
MCObjectStreamer owns its MCCodeEmitter -- this fixes the types to reflect that, and allows us to remove the last instance of MCObjectStreamer's weird "holding ownership via someone else's reference" trick. llvm-svn: 315531
Diffstat (limited to 'llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp')
-rw-r--r--llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
index 875cdffea56..1497edc7a05 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
@@ -11,14 +11,15 @@
#include "Utils/AMDGPUBaseInfo.h"
#include "llvm/BinaryFormat/ELF.h"
#include "llvm/MC/MCAsmBackend.h"
+#include "llvm/MC/MCCodeEmitter.h"
using namespace llvm;
AMDGPUELFStreamer::AMDGPUELFStreamer(const Triple &T, MCContext &Context,
std::unique_ptr<MCAsmBackend> MAB,
raw_pwrite_stream &OS,
- MCCodeEmitter *Emitter)
- : MCELFStreamer(Context, std::move(MAB), OS, Emitter) {
+ std::unique_ptr<MCCodeEmitter> Emitter)
+ : MCELFStreamer(Context, std::move(MAB), OS, std::move(Emitter)) {
unsigned Arch = ELF::EF_AMDGPU_ARCH_NONE;
switch (T.getArch()) {
case Triple::r600:
@@ -40,6 +41,8 @@ AMDGPUELFStreamer::AMDGPUELFStreamer(const Triple &T, MCContext &Context,
MCELFStreamer *llvm::createAMDGPUELFStreamer(
const Triple &T, MCContext &Context, std::unique_ptr<MCAsmBackend> MAB,
- raw_pwrite_stream &OS, MCCodeEmitter *Emitter, bool RelaxAll) {
- return new AMDGPUELFStreamer(T, Context, std::move(MAB), OS, Emitter);
+ raw_pwrite_stream &OS, std::unique_ptr<MCCodeEmitter> Emitter,
+ bool RelaxAll) {
+ return new AMDGPUELFStreamer(T, Context, std::move(MAB), OS,
+ std::move(Emitter));
}
OpenPOWER on IntegriCloud