--- /dev/null
+From 563489e5c922481a9a506fc5405a3dacacd6082e Mon Sep 17 00:00:00 2001
+From: José Fonseca <jfonseca@vmware.com>
+Date: Tue, 15 May 2012 12:10:26 +0000
+Subject: gallivm: Add MCRegisterInfo.h to silence benign warnings about missing implementation.
+
+Trivial.
+---
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+index 9cf2094..444b70a 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+@@ -53,6 +53,9 @@
+ #include <llvm/MC/MCInst.h>
+ #include <llvm/MC/MCInstPrinter.h>
+ #endif /* HAVE_LLVM >= 0x0207 */
++#if HAVE_LLVM >= 0x0301
++#include <llvm/MC/MCRegisterInfo.h>
++#endif /* HAVE_LLVM >= 0x0301 */
+
+ #include "util/u_math.h"
+ #include "util/u_debug.h"
+--
+cgit v0.9.0.2-2-gbebe
+From fe34006908f1ff99ada34d52c06fd80197e452ec Mon Sep 17 00:00:00 2001
+From: Vinson Lee <vlee@freedesktop.org>
+Date: Wed, 14 Mar 2012 05:40:52 +0000
+Subject: gallivm: Fix createOProfileJITEventListener namespace with llvm-3.1.
+
+llvm-3.1svn r152620 refactored the OProfile profiling code.
+createOProfileJITEventListener was moved from the llvm namespace to the
+llvm::JITEventListener namespace.
+
+Signed-off-by: Vinson Lee <vlee@freedesktop.org>
+Reviewed-by: Brian Paul <brianp@vmware.com>
+---
+(limited to 'src/gallium/auxiliary/gallivm/lp_bld_misc.cpp')
+
+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
+ }
+
+
+--
+cgit v0.9.0.2-2-gbebe
+From 1633dcd890d97bd5e4d125d57f2f529f04d14477 Mon Sep 17 00:00:00 2001
+From: Vinson Lee <vlee@freedesktop.org>
+Date: Tue, 06 Mar 2012 06:00:40 +0000
+Subject: gallivm: Pass in a MCRegisterInfo to MCInstPrinter on llvm-3.1.
+
+llvm-3.1svn r152043 changes createMCInstPrinter to take an additional
+MCRegisterInfo argument.
+
+Signed-off-by: Vinson Lee <vlee@freedesktop.org>
+Reviewed-by: Brian Paul <brianp@vmware.com>
+---
+(limited to 'src/gallium/auxiliary/gallivm/lp_bld_debug.cpp')
+
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+index 11209da..b6849cb 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+@@ -243,7 +243,18 @@ 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;
++ }
++#endif
++
++#if HAVE_LLVM >= 0x0301
++ OwningPtr<MCInstPrinter> Printer(
++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MRI, *STI));
++#elif HAVE_LLVM == 0x0300
+ OwningPtr<MCInstPrinter> Printer(
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
+ #elif HAVE_LLVM >= 0x0208
+--
+cgit v0.9.0.2-2-gbebe
+From 4f513002f65c629576252b34efedf3c8c4531dfd Mon Sep 17 00:00:00 2001
+From: Vinson Lee <vlee@freedesktop.org>
+Date: Tue, 03 Apr 2012 05:14:15 +0000
+Subject: gallivm: Pass in a MCInstrInfo to createMCInstPrinter on llvm-3.1.
+
+llvm-3.1svn r153860 makes MCInstrInfo available to the MCInstPrinter.
+
+Signed-off-by: Vinson Lee <vlee@freedesktop.org>
+Reviewed-by: Brian Paul <brianp@vmware.com>
+---
+(limited to 'src/gallium/auxiliary/gallivm/lp_bld_debug.cpp')
+
+diff --git a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+index c5afff0..9cf2094 100644
+--- a/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
++++ b/src/gallium/auxiliary/gallivm/lp_bld_debug.cpp
+@@ -251,11 +251,17 @@ lp_disassemble(const void* func)
+ 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, *MRI, *STI));
++ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *MII, *MRI, *STI));
+ #elif HAVE_LLVM == 0x0300
+ OwningPtr<MCInstPrinter> Printer(
+ T->createMCInstPrinter(AsmPrinterVariant, *AsmInfo, *STI));
+--
+cgit v0.9.0.2-2-gbebe