Mesa (master): gallivm: fix compilation with llvm 3.5 r206241+

Roland Scheidegger sroland at kemper.freedesktop.org
Wed Apr 16 17:58:23 UTC 2014


Module: Mesa
Branch: master
Commit: f23d1160c24e16ced319d838ed3102b731c2ff03
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=f23d1160c24e16ced319d838ed3102b731c2ff03

Author: Roland Scheidegger <sroland at vmware.com>
Date:   Wed Apr 16 03:46:20 2014 +0200

gallivm: fix compilation with llvm 3.5 r206241+

Just adjust to the ever-changing API, pass in MCContext when creating the
MCDisassembler.

Reviewed-by: Tom Stellard <thomas.stellard at amd.com>

---

 src/gallium/auxiliary/gallivm/lp_bld_debug.cpp |   31 +++++++++++++++---------
 1 file changed, 20 insertions(+), 11 deletions(-)

diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
index 1c886ea..541cf9e 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
@@ -60,6 +60,10 @@
 #include <llvm/ADT/OwningPtr.h>
 #endif
 
+#if HAVE_LLVM >= 0x0305
+#include <llvm/MC/MCContext.h>
+#endif
+
 #include "util/u_math.h"
 #include "util/u_debug.h"
 
@@ -226,17 +230,6 @@ disassemble(const void* func, llvm::raw_ostream & Out)
    }
 
 #if HAVE_LLVM >= 0x0300
-   const MCSubtargetInfo *STI = T->createMCSubtargetInfo(Triple, sys::getHostCPUName(), "");
-   OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler(*STI));
-#else 
-   OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler());
-#endif 
-   if (!DisAsm) {
-      Out << "error: no disassembler for target " << Triple << "\n";
-      return 0;
-   }
-
-#if HAVE_LLVM >= 0x0300
    unsigned int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
 #else
    int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
@@ -256,6 +249,22 @@ disassemble(const void* func, llvm::raw_ostream & Out)
    }
 #endif
 
+#if HAVE_LLVM >= 0x0305
+   OwningPtr<const MCSubtargetInfo> STI(T->createMCSubtargetInfo(Triple, sys::getHostCPUName(), ""));
+   OwningPtr<MCContext> MCCtx(new MCContext(AsmInfo.get(), MRI.get(), 0));
+   OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler(*STI, *MCCtx));
+#elif HAVE_LLVM >= 0x0300
+   const MCSubtargetInfo *STI = T->createMCSubtargetInfo(Triple, sys::getHostCPUName(), "");
+   OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler(*STI));
+#else
+   OwningPtr<const MCDisassembler> DisAsm(T->createMCDisassembler());
+#endif
+   if (!DisAsm) {
+      Out << "error: no disassembler for target " << Triple << "\n";
+      return 0;
+   }
+
+
 #if HAVE_LLVM >= 0x0301
    OwningPtr<MCInstPrinter> Printer(
          T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));




More information about the mesa-commit mailing list