MCPcopy Create free account
hub / github.com/apache/arrow / UseJITLinkIfEnabled

Function UseJITLinkIfEnabled

cpp/src/gandiva/engine.cc:205–221  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

203}
204
205Status UseJITLinkIfEnabled(llvm::orc::LLJITBuilder& jit_builder) {
206 static auto maybe_use_jit_link = ::arrow::internal::GetEnvVar("GANDIVA_USE_JIT_LINK");
207 if (maybe_use_jit_link.ok()) {
208 ARROW_ASSIGN_OR_RAISE(static auto memory_manager, CreateMemmoryManager());
209# if LLVM_VERSION_MAJOR >= 21
210 jit_builder.setObjectLinkingLayerCreator([&](llvm::orc::ExecutionSession& ES) {
211 return std::make_unique<llvm::orc::ObjectLinkingLayer>(ES, *memory_manager);
212 });
213# else
214 jit_builder.setObjectLinkingLayerCreator(
215 [&](llvm::orc::ExecutionSession& ES, const llvm::Triple& TT) {
216 return std::make_unique<llvm::orc::ObjectLinkingLayer>(ES, *memory_manager);
217 });
218# endif
219 }
220 return Status::OK();
221}
222#endif
223
224Result<std::unique_ptr<llvm::orc::LLJIT>> BuildJIT(

Callers 1

BuildJITFunction · 0.85

Calls 3

GetEnvVarFunction · 0.85
OKFunction · 0.50
okMethod · 0.45

Tested by

no test coverage detected