From 581b88879316065dab113d1512aeac7e9932b0af Mon Sep 17 00:00:00 2001 From: Thomas Munro Date: Thu, 19 Oct 2023 04:45:46 +1300 Subject: [PATCH v4] jit: Require at least LLVM 10. Remove support for older LLVM versions. The default on common software distributions will be at least LLVM 10 when PostgreSQL 17 ships. Discussion: https://postgr.es/m/CA%2BhUKGLhNs5geZaVNj2EJ79Dx9W8fyWUU3HxcpZy55sMGcY%3DiA%40mail.gmail.com --- config/llvm.m4 | 10 ++-- configure | 43 ++--------------- doc/src/sgml/installation.sgml | 4 +- meson.build | 2 +- src/backend/jit/llvm/llvmjit.c | 53 ++------------------- src/backend/jit/llvm/llvmjit_error.cpp | 10 ---- src/backend/jit/llvm/llvmjit_expr.c | 6 +-- src/backend/jit/llvm/llvmjit_inline.cpp | 38 +-------------- src/backend/jit/llvm/llvmjit_wrap.cpp | 61 ------------------------- src/include/jit/llvmjit.h | 17 ------- src/include/pg_config.h.in | 12 ----- src/tools/msvc/Solution.pm | 3 -- 12 files changed, 17 insertions(+), 242 deletions(-) diff --git a/config/llvm.m4 b/config/llvm.m4 index 21d8cd4f90..44769d819a 100644 --- a/config/llvm.m4 +++ b/config/llvm.m4 @@ -13,7 +13,7 @@ AC_DEFUN([PGAC_LLVM_SUPPORT], AC_REQUIRE([AC_PROG_AWK]) AC_ARG_VAR(LLVM_CONFIG, [path to llvm-config command]) - PGAC_PATH_PROGS(LLVM_CONFIG, llvm-config llvm-config-7 llvm-config-6.0 llvm-config-5.0 llvm-config-4.0 llvm-config-3.9) + PGAC_PATH_PROGS(LLVM_CONFIG, llvm-config llvm-config-17 llvm-config-16 llvm-config-15 llvm-config-14 llvm-config-13 llvm-config-12 llvm-config-11 llvm-config-10) # no point continuing if llvm wasn't found if test -z "$LLVM_CONFIG"; then @@ -25,14 +25,14 @@ AC_DEFUN([PGAC_LLVM_SUPPORT], AC_MSG_ERROR([$LLVM_CONFIG does not work]) fi # and whether the version is supported - if echo $pgac_llvm_version | $AWK -F '.' '{ if ([$]1 >= 4 || ([$]1 == 3 && [$]2 >= 9)) exit 1; else exit 0;}';then - AC_MSG_ERROR([$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required]) + if echo $pgac_llvm_version | $AWK -F '.' '{ if ([$]1 >= 10) exit 1; else exit 0;}';then + AC_MSG_ERROR([$LLVM_CONFIG version is $pgac_llvm_version but at least 10 is required]) fi AC_MSG_NOTICE([using llvm $pgac_llvm_version]) # need clang to create some bitcode files AC_ARG_VAR(CLANG, [path to clang compiler to generate bitcode]) - PGAC_PATH_PROGS(CLANG, clang clang-7 clang-6.0 clang-5.0 clang-4.0 clang-3.9) + PGAC_PATH_PROGS(CLANG, clang clang-17 clang-16 clang-15 clang-14 clang-13 clang-12 clang-11 clang-10) if test -z "$CLANG"; then AC_MSG_ERROR([clang not found, but required when compiling --with-llvm, specify with CLANG=]) fi @@ -115,8 +115,6 @@ AC_DEFUN([PGAC_CHECK_LLVM_FUNCTIONS], # Check which functionality is present SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $LLVM_CPPFLAGS" - AC_CHECK_DECLS([LLVMOrcGetSymbolAddressIn], [], [], [[#include ]]) - AC_CHECK_DECLS([LLVMGetHostCPUName, LLVMGetHostCPUFeatures], [], [], [[#include ]]) AC_CHECK_DECLS([LLVMCreateGDBRegistrationListener, LLVMCreatePerfJITEventListener], [], [], [[#include ]]) CPPFLAGS="$SAVE_CPPFLAGS" ])# PGAC_CHECK_LLVM_FUNCTIONS diff --git a/configure b/configure index c2cb1b1b24..1f848959ef 100755 --- a/configure +++ b/configure @@ -5056,7 +5056,7 @@ if test "$with_llvm" = yes; then : if test -z "$LLVM_CONFIG"; then - for ac_prog in llvm-config llvm-config-7 llvm-config-6.0 llvm-config-5.0 llvm-config-4.0 llvm-config-3.9 + for ac_prog in llvm-config llvm-config-17 llvm-config-16 llvm-config-15 llvm-config-14 llvm-config-13 llvm-config-12 llvm-config-11 llvm-config-10 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -5120,8 +5120,8 @@ fi as_fn_error $? "$LLVM_CONFIG does not work" "$LINENO" 5 fi # and whether the version is supported - if echo $pgac_llvm_version | $AWK -F '.' '{ if ($1 >= 4 || ($1 == 3 && $2 >= 9)) exit 1; else exit 0;}';then - as_fn_error $? "$LLVM_CONFIG version is $pgac_llvm_version but at least 3.9 is required" "$LINENO" 5 + if echo $pgac_llvm_version | $AWK -F '.' '{ if ($1 >= 10) exit 1; else exit 0;}';then + as_fn_error $? "$LLVM_CONFIG version is $pgac_llvm_version but at least 10 is required" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: using llvm $pgac_llvm_version" >&5 $as_echo "$as_me: using llvm $pgac_llvm_version" >&6;} @@ -5129,7 +5129,7 @@ $as_echo "$as_me: using llvm $pgac_llvm_version" >&6;} # need clang to create some bitcode files if test -z "$CLANG"; then - for ac_prog in clang clang-7 clang-6.0 clang-5.0 clang-4.0 clang-3.9 + for ac_prog in clang clang-17 clang-16 clang-15 clang-14 clang-13 clang-12 clang-11 clang-10 do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -16573,41 +16573,6 @@ if test "$with_llvm" = yes; then # Check which functionality is present SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $LLVM_CPPFLAGS" - ac_fn_c_check_decl "$LINENO" "LLVMOrcGetSymbolAddressIn" "ac_cv_have_decl_LLVMOrcGetSymbolAddressIn" "#include -" -if test "x$ac_cv_have_decl_LLVMOrcGetSymbolAddressIn" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN $ac_have_decl -_ACEOF - - ac_fn_c_check_decl "$LINENO" "LLVMGetHostCPUName" "ac_cv_have_decl_LLVMGetHostCPUName" "#include -" -if test "x$ac_cv_have_decl_LLVMGetHostCPUName" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -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 -" -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 " if test "x$ac_cv_have_decl_LLVMCreateGDBRegistrationListener" = xyes; then : diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index 8e0b2705d3..dc95752f89 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -965,7 +965,7 @@ build-postgresql: linkend="jit"/>). This requires the LLVM library to be installed. The minimum required version of LLVM is - currently 3.9. + currently 10. llvm-configllvm-config @@ -2432,7 +2432,7 @@ ninja install condition="standalone-ignore"> (see ). This requires the LLVM library to be installed. The minimum required version of - LLVM is currently 3.9. Disabled by + LLVM is currently 10. Disabled by default. diff --git a/meson.build b/meson.build index 2d516c8f37..8e43f76bdf 100644 --- a/meson.build +++ b/meson.build @@ -748,7 +748,7 @@ endif llvmopt = get_option('llvm') llvm = not_found_dep if add_languages('cpp', required: llvmopt, native: false) - llvm = dependency('llvm', version: '>=3.9', method: 'config-tool', required: llvmopt) + llvm = dependency('llvm', version: '>=10', method: 'config-tool', required: llvmopt) if llvm.found() diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c index 58f638859a..fcb065cec9 100644 --- a/src/backend/jit/llvm/llvmjit.c +++ b/src/backend/jit/llvm/llvmjit.c @@ -34,10 +34,8 @@ #include #include #include -#if LLVM_VERSION_MAJOR > 6 #include #endif -#endif #include "jit/llvmjit.h" #include "jit/llvmjit_emit.h" @@ -354,10 +352,7 @@ llvm_expand_funcname(struct LLVMJitContext *context, const char *basename) void * llvm_get_function(LLVMJitContext *context, const char *funcname) { -#if LLVM_VERSION_MAJOR > 11 || \ - defined(HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN) && HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN ListCell *lc; -#endif llvm_assert_in_fatal_section(); @@ -405,7 +400,7 @@ llvm_get_function(LLVMJitContext *context, const char *funcname) if (addr) return (void *) (uintptr_t) addr; } -#elif defined(HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN) && HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN +#else foreach(lc, context->handles) { LLVMOrcTargetAddress addr; @@ -417,28 +412,6 @@ llvm_get_function(LLVMJitContext *context, const char *funcname) if (addr) return (void *) (uintptr_t) addr; } -#elif LLVM_VERSION_MAJOR < 5 - { - LLVMOrcTargetAddress addr; - - if ((addr = LLVMOrcGetSymbolAddress(llvm_opt0_orc, funcname))) - return (void *) (uintptr_t) addr; - if ((addr = LLVMOrcGetSymbolAddress(llvm_opt3_orc, funcname))) - return (void *) (uintptr_t) addr; - } -#else - { - LLVMOrcTargetAddress addr; - - if (LLVMOrcGetSymbolAddress(llvm_opt0_orc, &addr, funcname)) - elog(ERROR, "failed to look up symbol \"%s\"", funcname); - if (addr) - return (void *) (uintptr_t) addr; - if (LLVMOrcGetSymbolAddress(llvm_opt3_orc, &addr, funcname)) - elog(ERROR, "failed to look up symbol \"%s\"", funcname); - if (addr) - return (void *) (uintptr_t) addr; - } #endif elog(ERROR, "failed to JIT: %s", funcname); @@ -526,7 +499,7 @@ llvm_copy_attributes_at_index(LLVMValueRef v_from, LLVMValueRef v_to, uint32 ind int num_attributes; LLVMAttributeRef *attrs; - num_attributes = LLVMGetAttributeCountAtIndexPG(v_from, index); + num_attributes = LLVMGetAttributeCountAtIndex(v_from, index); /* * Not just for efficiency: LLVM <= 3.9 crashes when @@ -825,7 +798,7 @@ llvm_compile_module(LLVMJitContext *context) /* LLVMOrcLLJITAddLLVMIRModuleWithRT takes ownership of the module */ } -#elif LLVM_VERSION_MAJOR > 6 +#else { handle->stack = compile_orc; if (LLVMOrcAddEagerlyCompiledIR(compile_orc, &handle->orc_handle, context->module, @@ -834,26 +807,6 @@ llvm_compile_module(LLVMJitContext *context) /* LLVMOrcAddEagerlyCompiledIR takes ownership of the module */ } -#elif LLVM_VERSION_MAJOR > 4 - { - LLVMSharedModuleRef smod; - - smod = LLVMOrcMakeSharedModule(context->module); - handle->stack = compile_orc; - if (LLVMOrcAddEagerlyCompiledIR(compile_orc, &handle->orc_handle, smod, - llvm_resolve_symbol, NULL)) - elog(ERROR, "failed to JIT module"); - - LLVMOrcDisposeSharedModuleRef(smod); - } -#else /* LLVM 4.0 and 3.9 */ - { - handle->stack = compile_orc; - handle->orc_handle = LLVMOrcAddEagerlyCompiledIR(compile_orc, context->module, - llvm_resolve_symbol, NULL); - - LLVMDisposeModule(context->module); - } #endif INSTR_TIME_SET_CURRENT(endtime); diff --git a/src/backend/jit/llvm/llvmjit_error.cpp b/src/backend/jit/llvm/llvmjit_error.cpp index ea40f5a124..58b5959baf 100644 --- a/src/backend/jit/llvm/llvmjit_error.cpp +++ b/src/backend/jit/llvm/llvmjit_error.cpp @@ -29,12 +29,10 @@ static int fatal_new_handler_depth = 0; static std::new_handler old_new_handler = NULL; static void fatal_system_new_handler(void); -#if LLVM_VERSION_MAJOR > 4 static void fatal_llvm_new_handler(void *user_data, const char *reason, bool gen_crash_diag); #if LLVM_VERSION_MAJOR < 14 static void fatal_llvm_new_handler(void *user_data, const std::string& reason, bool gen_crash_diag); #endif -#endif static void fatal_llvm_error_handler(void *user_data, const char *reason, bool gen_crash_diag); #if LLVM_VERSION_MAJOR < 14 static void fatal_llvm_error_handler(void *user_data, const std::string& reason, bool gen_crash_diag); @@ -65,9 +63,7 @@ llvm_enter_fatal_on_oom(void) if (fatal_new_handler_depth == 0) { old_new_handler = std::set_new_handler(fatal_system_new_handler); -#if LLVM_VERSION_MAJOR > 4 llvm::install_bad_alloc_error_handler(fatal_llvm_new_handler); -#endif llvm::install_fatal_error_handler(fatal_llvm_error_handler); } fatal_new_handler_depth++; @@ -83,9 +79,7 @@ llvm_leave_fatal_on_oom(void) if (fatal_new_handler_depth == 0) { std::set_new_handler(old_new_handler); -#if LLVM_VERSION_MAJOR > 4 llvm::remove_bad_alloc_error_handler(); -#endif llvm::remove_fatal_error_handler(); } } @@ -110,9 +104,7 @@ llvm_reset_after_error(void) if (fatal_new_handler_depth != 0) { std::set_new_handler(old_new_handler); -#if LLVM_VERSION_MAJOR > 4 llvm::remove_bad_alloc_error_handler(); -#endif llvm::remove_fatal_error_handler(); } fatal_new_handler_depth = 0; @@ -133,7 +125,6 @@ fatal_system_new_handler(void) errdetail("while in LLVM"))); } -#if LLVM_VERSION_MAJOR > 4 static void fatal_llvm_new_handler(void *user_data, const char *reason, @@ -153,7 +144,6 @@ fatal_llvm_new_handler(void *user_data, fatal_llvm_new_handler(user_data, reason.c_str(), gen_crash_diag); } #endif -#endif static void fatal_llvm_error_handler(void *user_data, diff --git a/src/backend/jit/llvm/llvmjit_expr.c b/src/backend/jit/llvm/llvmjit_expr.c index a3a0876bff..a950564afa 100644 --- a/src/backend/jit/llvm/llvmjit_expr.c +++ b/src/backend/jit/llvm/llvmjit_expr.c @@ -2644,12 +2644,8 @@ create_LifetimeEnd(LLVMModuleRef mod) LLVMTypeRef param_types[2]; LLVMContextRef lc; - /* LLVM 5+ has a variadic pointer argument */ -#if LLVM_VERSION_MAJOR < 5 - const char *nm = "llvm.lifetime.end"; -#else + /* variadic pointer argument */ const char *nm = "llvm.lifetime.end.p0i8"; -#endif fn = LLVMGetNamedFunction(mod, nm); if (fn) diff --git a/src/backend/jit/llvm/llvmjit_inline.cpp b/src/backend/jit/llvm/llvmjit_inline.cpp index d92d7f3c88..b38f48b026 100644 --- a/src/backend/jit/llvm/llvmjit_inline.cpp +++ b/src/backend/jit/llvm/llvmjit_inline.cpp @@ -49,12 +49,7 @@ extern "C" #include #include #include -#if LLVM_VERSION_MAJOR > 3 #include -#else -#include -#include -#endif #include #include #include @@ -267,14 +262,12 @@ llvm_build_inline_plan(LLVMContextRef lc, llvm::Module *mod) fs = llvm::cast(gvs); -#if LLVM_VERSION_MAJOR > 3 if (gvs->notEligibleToImport()) { ilog(DEBUG1, "ineligibile to import %s due to summary", symbolName.data()); continue; } -#endif if ((int) fs->instCount() > inlineState.costLimit) { @@ -458,16 +451,9 @@ llvm_execute_inline_plan(llvm::Module *mod, ImportMapTy *globalsToInline) } -#if LLVM_VERSION_MAJOR > 4 -#define IRMOVE_PARAMS , /*IsPerformingImport=*/false -#elif LLVM_VERSION_MAJOR > 3 -#define IRMOVE_PARAMS , /*LinkModuleInlineAsm=*/false, /*IsPerformingImport=*/false -#else -#define IRMOVE_PARAMS -#endif if (Mover.move(std::move(importMod), GlobalsToImport.getArrayRef(), - [](llvm::GlobalValue &, llvm::IRMover::ValueAdder) {} - IRMOVE_PARAMS)) + [](llvm::GlobalValue &, llvm::IRMover::ValueAdder) {}, + /*IsPerformingImport=*/false)) elog(FATAL, "function import failed with linker error"); } } @@ -793,7 +779,6 @@ llvm_load_summary(llvm::StringRef path) { llvm::MemoryBufferRef ref(*MBOrErr.get().get()); -#if LLVM_VERSION_MAJOR > 3 llvm::Expected > IndexOrErr = llvm::getModuleSummaryIndex(ref); if (IndexOrErr) @@ -801,15 +786,6 @@ llvm_load_summary(llvm::StringRef path) elog(FATAL, "failed to load summary \"%s\": %s", path.data(), toString(IndexOrErr.takeError()).c_str()); -#else - llvm::ErrorOr > IndexOrErr = - llvm::getModuleSummaryIndex(ref, [](const llvm::DiagnosticInfo &) {}); - if (IndexOrErr) - return std::move(IndexOrErr.get()); - elog(FATAL, "failed to load summary \"%s\": %s", - path.data(), - IndexOrErr.getError().message().c_str()); -#endif } return nullptr; } @@ -853,22 +829,12 @@ summaries_for_guid(const InlineSearchPath& path, llvm::GlobalValue::GUID guid) for (auto index : path) { -#if LLVM_VERSION_MAJOR > 4 llvm::ValueInfo funcVI = index->getValueInfo(guid); /* if index doesn't know function, we don't have a body, continue */ if (funcVI) for (auto &gv : funcVI.getSummaryList()) matches.push_back(gv.get()); -#else - const llvm::const_gvsummary_iterator &I = - index->findGlobalValueSummaryList(guid); - if (I != index->end()) - { - for (auto &gv : I->second) - matches.push_back(gv.get()); - } -#endif } return matches; diff --git a/src/backend/jit/llvm/llvmjit_wrap.cpp b/src/backend/jit/llvm/llvmjit_wrap.cpp index 90a41b9191..6f6ccb36c5 100644 --- a/src/backend/jit/llvm/llvmjit_wrap.cpp +++ b/src/backend/jit/llvm/llvmjit_wrap.cpp @@ -21,16 +21,7 @@ extern "C" /* Avoid macro clash with LLVM's C++ headers */ #undef Min -#include #include -#if LLVM_VERSION_MAJOR < 17 -#include -#endif -#if LLVM_VERSION_MAJOR > 16 -#include -#else -#include -#endif #include "jit/llvmjit.h" @@ -38,50 +29,6 @@ extern "C" /* * C-API extensions. */ -#if defined(HAVE_DECL_LLVMGETHOSTCPUNAME) && !HAVE_DECL_LLVMGETHOSTCPUNAME -char *LLVMGetHostCPUName(void) { - return strdup(llvm::sys::getHostCPUName().data()); -} -#endif - - -#if defined(HAVE_DECL_LLVMGETHOSTCPUFEATURES) && !HAVE_DECL_LLVMGETHOSTCPUFEATURES -char *LLVMGetHostCPUFeatures(void) { - llvm::SubtargetFeatures Features; - llvm::StringMap HostFeatures; - - if (llvm::sys::getHostCPUFeatures(HostFeatures)) - for (auto &F : HostFeatures) - Features.AddFeature(F.first(), F.second); - - return strdup(Features.getString().c_str()); -} -#endif - -/* - * Like LLVM's LLVMGetAttributeCountAtIndex(), works around a bug in LLVM 3.9. - * - * In LLVM <= 3.9, LLVMGetAttributeCountAtIndex() segfaults if there are no - * attributes at an index (fixed in LLVM commit ce9bb1097dc2). - */ -unsigned -LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx) -{ - /* - * This is more expensive, so only do when using a problematic LLVM - * version. - */ -#if LLVM_VERSION_MAJOR < 4 - if (!llvm::unwrap(F)->getAttributes().hasAttributes(Idx)) - return 0; -#endif - - /* - * There is no nice public API to determine the count nicely, so just - * always fall back to LLVM's C API. - */ - return LLVMGetAttributeCountAtIndex(F, Idx); -} LLVMTypeRef LLVMGetFunctionReturnType(LLVMValueRef r) @@ -94,11 +41,3 @@ LLVMGetFunctionType(LLVMValueRef r) { return llvm::wrap(llvm::unwrap(r)->getFunctionType()); } - -#if LLVM_VERSION_MAJOR < 8 -LLVMTypeRef -LLVMGlobalGetValueType(LLVMValueRef g) -{ - return llvm::wrap(llvm::unwrap(g)->getValueType()); -} -#endif diff --git a/src/include/jit/llvmjit.h b/src/include/jit/llvmjit.h index 3ab86de3ac..e90b390bf4 100644 --- a/src/include/jit/llvmjit.h +++ b/src/include/jit/llvmjit.h @@ -130,26 +130,9 @@ extern LLVMValueRef slot_compile_deform(struct LLVMJitContext *context, TupleDes * Error handling related functions. **************************************************************************** */ -#if defined(HAVE_DECL_LLVMGETHOSTCPUNAME) && !HAVE_DECL_LLVMGETHOSTCPUNAME -/** Get the host CPU as a string. The result needs to be disposed with - LLVMDisposeMessage. */ -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 - -extern unsigned LLVMGetAttributeCountAtIndexPG(LLVMValueRef F, uint32 Idx); extern LLVMTypeRef LLVMGetFunctionReturnType(LLVMValueRef r); extern LLVMTypeRef LLVMGetFunctionType(LLVMValueRef r); -#if LLVM_MAJOR_VERSION < 8 -extern LLVMTypeRef LLVMGlobalGetValueType(LLVMValueRef g); -#endif - #ifdef __cplusplus } /* extern "C" */ #endif diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in index d8a2985567..481470ee59 100644 --- a/src/include/pg_config.h.in +++ b/src/include/pg_config.h.in @@ -103,18 +103,6 @@ `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 - -/* Define to 1 if you have the declaration of `LLVMOrcGetSymbolAddressIn', and - to 0 if you don't. */ -#undef HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN - /* Define to 1 if you have the declaration of `posix_fadvise', and to 0 if you don't. */ #undef HAVE_DECL_POSIX_FADVISE diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm index a50f730260..5066bd9e28 100644 --- a/src/tools/msvc/Solution.pm +++ b/src/tools/msvc/Solution.pm @@ -235,9 +235,6 @@ sub GenerateFiles HAVE_DECL_F_FULLFSYNC => 0, HAVE_DECL_LLVMCREATEGDBREGISTRATIONLISTENER => 0, HAVE_DECL_LLVMCREATEPERFJITEVENTLISTENER => 0, - HAVE_DECL_LLVMGETHOSTCPUNAME => 0, - HAVE_DECL_LLVMGETHOSTCPUFEATURES => 0, - HAVE_DECL_LLVMORCGETSYMBOLADDRESSIN => 0, HAVE_DECL_POSIX_FADVISE => 0, HAVE_DECL_PREADV => 0, HAVE_DECL_PWRITEV => 0, -- 2.42.0