summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp
diff options
context:
space:
mode:
authorTom Stellard <thomas.stellard@amd.com>2015-04-28 17:37:03 +0000
committerTom Stellard <thomas.stellard@amd.com>2015-04-28 17:37:03 +0000
commit96301d2455e658aae00d99e3ad8ca65abc92a04c (patch)
tree8664b79a568373824aba5b4d2c5c9d2306e8b1f1 /llvm/lib/Target/R600/AMDGPUMCInstLower.cpp
parent0a0fa03d5a7b003e1ee52a563b3db40e998e12d1 (diff)
downloadbcm5719-llvm-96301d2455e658aae00d99e3ad8ca65abc92a04c.tar.gz
bcm5719-llvm-96301d2455e658aae00d99e3ad8ca65abc92a04c.zip
R600: Fix up for AsmPrinter's OutStreamer being a unique_ptr
Fixes a crash with basically any OpenGL application using the radeonsi driver. Patch by: Michel Dänzer Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=90176 Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> llvm-svn: 236004
Diffstat (limited to 'llvm/lib/Target/R600/AMDGPUMCInstLower.cpp')
-rw-r--r--llvm/lib/Target/R600/AMDGPUMCInstLower.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp b/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp
index b00bd8d9490..0aa1a9a2a2c 100644
--- a/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp
+++ b/llvm/lib/Target/R600/AMDGPUMCInstLower.cpp
@@ -132,8 +132,9 @@ void AMDGPUAsmPrinter::EmitInstruction(const MachineInstr *MI) {
SmallVector<char, 16> CodeBytes;
raw_svector_ostream CodeStream(CodeBytes);
- MCObjectStreamer &ObjStreamer = (MCObjectStreamer &)OutStreamer;
- MCCodeEmitter &InstEmitter = ObjStreamer.getAssembler().getEmitter();
+ MCObjectStreamer *ObjStreamer =
+ static_cast<MCObjectStreamer *>(OutStreamer.get());
+ MCCodeEmitter &InstEmitter = ObjStreamer->getAssembler().getEmitter();
InstEmitter.EncodeInstruction(TmpInst, CodeStream, Fixups,
MF->getSubtarget<MCSubtargetInfo>());
CodeStream.flush();
OpenPOWER on IntegriCloud