From 59f18f21595c46f103a0efecd19d4137d179ecab Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Fri, 6 Sep 2019 09:50:22 +0200 Subject: [PATCH] gallium: Require LLVM >= 3.7 Reviewed-by: Timothy Arceri Reviewed-by: Jose Fonseca --- meson.build | 2 +- scons/llvm.py | 16 ++------- src/gallium/auxiliary/gallivm/lp_bld_init.c | 4 +-- src/gallium/auxiliary/gallivm/lp_bld_misc.cpp | 33 ++----------------- 4 files changed, 7 insertions(+), 48 deletions(-) diff --git a/meson.build b/meson.build index b856f3acaec..48be4a122e6 100644 --- a/meson.build +++ b/meson.build @@ -1264,7 +1264,7 @@ elif with_gallium_swr elif with_gallium_opencl or with_gallium_r600 _llvm_version = '>= 3.9.0' else - _llvm_version = '>= 3.6.0' + _llvm_version = '>= 3.7.0' endif _shared_llvm = get_option('shared-llvm') diff --git a/scons/llvm.py b/scons/llvm.py index adb93e7f41e..30a74d85ca5 100644 --- a/scons/llvm.py +++ b/scons/llvm.py @@ -37,7 +37,7 @@ import SCons.Errors import SCons.Util -required_llvm_version = '3.6' +required_llvm_version = '3.7' def generate(env): @@ -159,24 +159,12 @@ def generate(env): 'LLVMSupport', 'LLVMIRReader', 'LLVMASMParser' ]) - elif llvm_version >= distutils.version.LooseVersion('3.7'): - env.Prepend(LIBS = [ - 'LLVMBitWriter', 'LLVMX86Disassembler', 'LLVMX86AsmParser', - 'LLVMX86CodeGen', 'LLVMSelectionDAG', 'LLVMAsmPrinter', - 'LLVMCodeGen', 'LLVMScalarOpts', 'LLVMProfileData', - 'LLVMInstCombine', 'LLVMInstrumentation', 'LLVMTransformUtils', 'LLVMipa', - 'LLVMAnalysis', 'LLVMX86Desc', 'LLVMMCDisassembler', - 'LLVMX86Info', 'LLVMX86AsmPrinter', 'LLVMX86Utils', - 'LLVMMCJIT', 'LLVMTarget', 'LLVMExecutionEngine', - 'LLVMRuntimeDyld', 'LLVMObject', 'LLVMMCParser', - 'LLVMBitReader', 'LLVMMC', 'LLVMCore', 'LLVMSupport' - ]) else: env.Prepend(LIBS = [ 'LLVMBitWriter', 'LLVMX86Disassembler', 'LLVMX86AsmParser', 'LLVMX86CodeGen', 'LLVMSelectionDAG', 'LLVMAsmPrinter', 'LLVMCodeGen', 'LLVMScalarOpts', 'LLVMProfileData', - 'LLVMInstCombine', 'LLVMTransformUtils', 'LLVMipa', + 'LLVMInstCombine', 'LLVMInstrumentation', 'LLVMTransformUtils', 'LLVMipa', 'LLVMAnalysis', 'LLVMX86Desc', 'LLVMMCDisassembler', 'LLVMX86Info', 'LLVMX86AsmPrinter', 'LLVMX86Utils', 'LLVMMCJIT', 'LLVMTarget', 'LLVMExecutionEngine', diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c index 23d330cff54..46355e0277c 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_init.c +++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c @@ -602,9 +602,7 @@ gallivm_compile_module(struct gallivm_state *gallivm) /* Disable frame pointer omission on debug/profile builds */ /* XXX: And workaround http://llvm.org/PR21435 */ -#if (LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7)) && \ - (defined(DEBUG) || defined(PROFILE) || \ - defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)) +#if defined(DEBUG) || defined(PROFILE) || defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) LLVMAddTargetDependentFunctionAttr(func, "no-frame-pointer-elim", "true"); LLVMAddTargetDependentFunctionAttr(func, "no-frame-pointer-elim-non-leaf", "true"); #endif diff --git a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp index 23bf1cf7042..cf18d6d14f9 100644 --- a/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp +++ b/src/gallium/auxiliary/gallivm/lp_bld_misc.cpp @@ -45,10 +45,8 @@ #include // Workaround http://llvm.org/PR23628 -#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7) -# pragma push_macro("DEBUG") -# undef DEBUG -#endif +#pragma push_macro("DEBUG") +#undef DEBUG #include #include @@ -57,11 +55,7 @@ #include #include #include -#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7) #include -#else -#include -#endif #include #include #include @@ -80,9 +74,7 @@ #endif // Workaround http://llvm.org/PR23628 -#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7) -# pragma pop_macro("DEBUG") -#endif +#pragma pop_macro("DEBUG") #include "c11/threads.h" #include "os/os_thread.h" @@ -160,11 +152,7 @@ LLVMTargetLibraryInfoRef gallivm_create_target_library_info(const char *triple) { return reinterpret_cast( -#if LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR < 7 - new llvm::TargetLibraryInfo( -#else new llvm::TargetLibraryInfoImpl( -#endif llvm::Triple(triple))); } @@ -173,11 +161,7 @@ void gallivm_dispose_target_library_info(LLVMTargetLibraryInfoRef library_info) { delete reinterpret_cast< -#if LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR < 7 - llvm::TargetLibraryInfo -#else llvm::TargetLibraryInfoImpl -#endif *>(library_info); } @@ -333,17 +317,6 @@ lp_build_create_jit_compiler_for_module(LLVMExecutionEngineRef *OutJIT, options.StackAlignmentOverride = 4; #endif -#if defined(DEBUG) && (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR < 7) - options.JITEmitDebugInfo = true; -#endif - - /* XXX: Workaround http://llvm.org/PR21435 */ -#if defined(DEBUG) || defined(PROFILE) || defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64) -#if LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR < 7 - options.NoFramePointerElim = true; -#endif -#endif - builder.setEngineKind(EngineKind::JIT) .setErrorStr(&Error) .setTargetOptions(options) -- 2.30.2