mirror of
https://gitee.com/openharmony/third_party_mesa3d
synced 2024-11-27 01:20:36 +00:00
gallium: Require LLVM >= 3.7
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com> Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
parent
9abf7d5755
commit
59f18f2159
@ -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')
|
||||
|
@ -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',
|
||||
|
@ -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
|
||||
|
@ -45,10 +45,8 @@
|
||||
#include <llvm/Config/llvm-config.h>
|
||||
|
||||
// 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 <llvm/Config/llvm-config.h>
|
||||
#include <llvm-c/Core.h>
|
||||
@ -57,11 +55,7 @@
|
||||
#include <llvm/Target/TargetOptions.h>
|
||||
#include <llvm/ExecutionEngine/ExecutionEngine.h>
|
||||
#include <llvm/ADT/Triple.h>
|
||||
#if LLVM_VERSION_MAJOR > 3 || (LLVM_VERSION_MAJOR == 3 && LLVM_VERSION_MINOR >= 7)
|
||||
#include <llvm/Analysis/TargetLibraryInfo.h>
|
||||
#else
|
||||
#include <llvm/Target/TargetLibraryInfo.h>
|
||||
#endif
|
||||
#include <llvm/ExecutionEngine/SectionMemoryManager.h>
|
||||
#include <llvm/Support/CommandLine.h>
|
||||
#include <llvm/Support/Host.h>
|
||||
@ -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<LLVMTargetLibraryInfoRef>(
|
||||
#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)
|
||||
|
Loading…
Reference in New Issue
Block a user