[Mesa-dev] [PATCH] gallivm: fix compilation with llvm 3.5 r206241+

Aaron Watry awatry at gmail.com
Wed Apr 16 08:30:28 PDT 2014


Fixes the build here as well (r600g+clover,radeonsi+clover).  Code
changes look ok, but I'm not super-familiar with the details and I'll
let Tom's reviewed-by stand.

--Aaron

On Tue, Apr 15, 2014 at 8:49 PM,  <sroland at vmware.com> wrote:
> From: Roland Scheidegger <sroland at vmware.com>
>
> Just adjust to the ever-changing API, pass in MCContext when creating the
> MCDisassembler.
> ---
>  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));
> --
> 1.7.9.5
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list