Skip to content

Commit ff4e23c

Browse files
raulcdlriggs
authored andcommitted
apacheGH-47469: [C++][Gandiva] Add support for LLVM 21.1.0 (apache#47473)
LLVM 21.1 was released and some of our CI jobs are failing. * Accept LLVM 21.1 * Don't use deprecated API Two of the related commits that changed APIs on LLVM are: - llvm/llvm-project@034f2b3 - llvm/llvm-project@b18e5b6 Yes on CI No * GitHub Issue: apache#47469 Authored-by: Raúl Cumplido <raulcumplido@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
1 parent 32e5492 commit ff4e23c

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

cpp/src/gandiva/engine.cc

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -211,13 +211,17 @@ Result<std::unique_ptr<llvm::jitlink::InProcessMemoryManager>> CreateMemmoryMana
211211
Status UseJITLinkIfEnabled(llvm::orc::LLJITBuilder& jit_builder) {
212212
static auto maybe_use_jit_link = ::arrow::internal::GetEnvVar("GANDIVA_USE_JIT_LINK");
213213
if (maybe_use_jit_link.ok()) {
214-
215-
ARROW_LOG(ERROR) << "GANDIVA_USE_JIT_LINK is set, using JITLink";
216-
ARROW_ASSIGN_OR_RAISE(static auto memory_manager, CreateMemmoryManager());
217-
jit_builder.setObjectLinkingLayerCreator(
218-
[&](llvm::orc::ExecutionSession& ES, const llvm::Triple& TT) {
219-
return std::make_unique<llvm::orc::ObjectLinkingLayer>(ES, *memory_manager);
220-
});
214+
ARROW_ASSIGN_OR_RAISE(static auto memory_manager, CreateMemmoryManager());
215+
# if LLVM_VERSION_MAJOR >= 21
216+
jit_builder.setObjectLinkingLayerCreator([&](llvm::orc::ExecutionSession& ES) {
217+
return std::make_unique<llvm::orc::ObjectLinkingLayer>(ES, *memory_manager);
218+
});
219+
# else
220+
jit_builder.setObjectLinkingLayerCreator(
221+
[&](llvm::orc::ExecutionSession& ES, const llvm::Triple& TT) {
222+
return std::make_unique<llvm::orc::ObjectLinkingLayer>(ES, *memory_manager);
223+
});
224+
# endif
221225
}
222226
return Status::OK();
223227
}

cpp/src/gandiva/llvm_types.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,11 @@ class GANDIVA_EXPORT LLVMTypes {
5656
llvm::Type* double_type() { return llvm::Type::getDoubleTy(context_); }
5757

5858
llvm::PointerType* ptr_type(llvm::Type* type) {
59+
#if LLVM_VERSION_MAJOR >= 21
60+
return llvm::PointerType::get(context_, 0);
61+
#else
5962
return llvm::PointerType::get(type, 0);
63+
#endif
6064
}
6165

6266
llvm::PointerType* i8_ptr_type() { return ptr_type(i8_type()); }

0 commit comments

Comments
 (0)