diff options
author | Tom Stellard <thomas.stellard@amd.com> | 2015-04-28 17:37:03 +0000 |
---|---|---|
committer | Tom Stellard <thomas.stellard@amd.com> | 2015-04-28 17:37:03 +0000 |
commit | 96301d2455e658aae00d99e3ad8ca65abc92a04c (patch) | |
tree | 8664b79a568373824aba5b4d2c5c9d2306e8b1f1 /llvm/lib/Target/R600/AMDGPUMCInstLower.cpp | |
parent | 0a0fa03d5a7b003e1ee52a563b3db40e998e12d1 (diff) | |
download | bcm5719-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.cpp | 5 |
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(); |