mirror of
https://github.com/postgres/postgres.git
synced 2025-04-21 12:05:57 +03:00
LLVMJIT: LLVMGetHostCPUFeatures now is upstream, use LLMV version if available.
Noticed thanks to buildfarm animal seawasp. Author: Andres Freund Backpatch: v11-, where LLVM based JIT compliation was introduced.
This commit is contained in:
parent
b0c5da615e
commit
cb92520563
@ -95,7 +95,7 @@ AC_DEFUN([PGAC_LLVM_SUPPORT],
|
||||
SAVE_CPPFLAGS="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $LLVM_CPPFLAGS"
|
||||
AC_CHECK_DECLS([LLVMOrcGetSymbolAddressIn], [], [], [[#include <llvm-c/OrcBindings.h>]])
|
||||
AC_CHECK_DECLS([LLVMGetHostCPUName], [], [], [[#include <llvm-c/TargetMachine.h>]])
|
||||
AC_CHECK_DECLS([LLVMGetHostCPUName, LLVMGetHostCPUFeatures], [], [], [[#include <llvm-c/TargetMachine.h>]])
|
||||
AC_CHECK_DECLS([LLVMCreateGDBRegistrationListener, LLVMCreatePerfJITEventListener], [], [], [[#include <llvm-c/ExecutionEngine.h>]])
|
||||
CPPFLAGS="$SAVE_CPPFLAGS"
|
||||
|
||||
|
11
configure
vendored
11
configure
vendored
@ -5203,6 +5203,17 @@ fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL_LLVMGETHOSTCPUNAME $ac_have_decl
|
||||
_ACEOF
|
||||
ac_fn_c_check_decl "$LINENO" "LLVMGetHostCPUFeatures" "ac_cv_have_decl_LLVMGetHostCPUFeatures" "#include <llvm-c/TargetMachine.h>
|
||||
"
|
||||
if test "x$ac_cv_have_decl_LLVMGetHostCPUFeatures" = xyes; then :
|
||||
ac_have_decl=1
|
||||
else
|
||||
ac_have_decl=0
|
||||
fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL_LLVMGETHOSTCPUFEATURES $ac_have_decl
|
||||
_ACEOF
|
||||
|
||||
ac_fn_c_check_decl "$LINENO" "LLVMCreateGDBRegistrationListener" "ac_cv_have_decl_LLVMCreateGDBRegistrationListener" "#include <llvm-c/ExecutionEngine.h>
|
||||
|
@ -32,6 +32,7 @@ char *LLVMGetHostCPUName(void) {
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(HAVE_DECL_LLVMGETHOSTCPUFEATURES) && !HAVE_DECL_LLVMGETHOSTCPUFEATURES
|
||||
char *LLVMGetHostCPUFeatures(void) {
|
||||
llvm::SubtargetFeatures Features;
|
||||
llvm::StringMap<bool> HostFeatures;
|
||||
@ -42,3 +43,4 @@ char *LLVMGetHostCPUFeatures(void) {
|
||||
|
||||
return strdup(Features.getString().c_str());
|
||||
}
|
||||
#endif
|
||||
|
@ -125,9 +125,11 @@ extern LLVMValueRef slot_compile_deform(struct LLVMJitContext *context, TupleDes
|
||||
extern char *LLVMGetHostCPUName(void);
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_DECL_LLVMGETHOSTCPUFEATURES) && !HAVE_DECL_LLVMGETHOSTCPUFEATURES
|
||||
/** Get the host CPU features as a string. The result needs to be disposed
|
||||
with LLVMDisposeMessage. */
|
||||
extern char *LLVMGetHostCPUFeatures(void);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
|
@ -142,6 +142,10 @@
|
||||
`LLVMCreatePerfJITEventListener', and to 0 if you don't. */
|
||||
#undef HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER
|
||||
|
||||
/* Define to 1 if you have the declaration of `LLVMGetHostCPUFeatures', and to
|
||||
0 if you don't. */
|
||||
#undef HAVE_DECL_LLVMGETHOSTCPUFEATURES
|
||||
|
||||
/* Define to 1 if you have the declaration of `LLVMGetHostCPUName', and to 0
|
||||
if you don't. */
|
||||
#undef HAVE_DECL_LLVMGETHOSTCPUNAME
|
||||
|
@ -119,6 +119,10 @@
|
||||
if you don't. */
|
||||
#define HAVE_DECL_LLVMGETHOSTCPUNAME 0
|
||||
|
||||
/* Define to 1 if you have the declaration of `LLVMGetHostCPUFeatures', and to 0
|
||||
if you don't. */
|
||||
#define HAVE_DECL_LLVMGETHOSTCPUFEATURES 0
|
||||
|
||||
/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and
|
||||
to 0 if you don't. */
|
||||
#define HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN 0
|
||||
|
Loading…
x
Reference in New Issue
Block a user