52 lines
2.0 KiB
Diff
52 lines
2.0 KiB
Diff
Submitted By: Bruce Dubbs (bdubbs_AT_linuxfromscratch_DOT_org)
|
|
Date: 2012-06-04
|
|
Initial Package Version: 8.0.1
|
|
Origin: https://projects.archlinux.org/svntogit/packages.git/plain/trunk/mesa-8.0.3-llvm-3.1-fixes.patch?h=packages/mesa
|
|
Upstream Status: Not applicable
|
|
Description: Needed to build with LLVM 3.1
|
|
|
|
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
|
index a50a51d..f1bb4d9 100644
|
|
--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
|
+++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
|
|
@@ -235,7 +235,24 @@ lp_disassemble(const void* func)
|
|
int AsmPrinterVariant = AsmInfo->getAssemblerDialect();
|
|
#endif
|
|
|
|
-#if HAVE_LLVM >= 0x0300
|
|
+#if HAVE_LLVM >= 0x0301
|
|
+ OwningPtr<const MCRegisterInfo> MRI(T->createMCRegInfo(Triple));
|
|
+ if (!MRI) {
|
|
+ debug_printf("error: no register info for target %s\n", Triple.c_str());
|
|
+ return;
|
|
+ }
|
|
+
|
|
+ OwningPtr<const MCInstrInfo> MII(T->createMCInstrInfo());
|
|
+ if (!MII) {
|
|
+ debug_printf("error: no instruction info for target %s\n", Triple.c_str());
|
|
+ return;
|
|
+ }
|
|
+#endif
|
|
+
|
|
+#if HAVE_LLVM >= 0x0301
|
|
+ OwningPtr<MCInstPrinter> Printer(
|
|
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));
|
|
+#elif HAVE_LLVM == 0x0300
|
|
OwningPtr<MCInstPrinter> Printer(
|
|
T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
|
|
#elif HAVE_LLVM >= 0x0208
|
|
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
|
index fe7616b..68f8808 100644
|
|
--- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
|
+++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp
|
|
@@ -62,7 +62,11 @@
|
|
extern "C" void
|
|
lp_register_oprofile_jit_event_listener(LLVMExecutionEngineRef EE)
|
|
{
|
|
+#if HAVE_LLVM >= 0x0301
|
|
+ llvm::unwrap(EE)->RegisterJITEventListener(llvm::JITEventListener::createOProfileJITEventListener());
|
|
+#else
|
|
llvm::unwrap(EE)->RegisterJITEventListener(llvm::createOProfileJITEventListener());
|
|
+#endif
|
|
}
|