[Bf-blender-cvs] [6a69a32c6d5] temp-llvm-testing: object file test

Jacques Lucke noreply at git.blender.org
Wed Dec 29 21:45:49 CET 2021


Commit: 6a69a32c6d56ff2c867dd60ed890525723267c99
Author: Jacques Lucke
Date:   Wed Dec 29 20:37:26 2021 +0100
Branches: temp-llvm-testing
https://developer.blender.org/rB6a69a32c6d56ff2c867dd60ed890525723267c99

object file test

===================================================================

M	source/blender/functions/intern/llvm.cc

===================================================================

diff --git a/source/blender/functions/intern/llvm.cc b/source/blender/functions/intern/llvm.cc
index de255962dda..e8cf3a3e998 100644
--- a/source/blender/functions/intern/llvm.cc
+++ b/source/blender/functions/intern/llvm.cc
@@ -25,6 +25,7 @@
 #include <llvm/IR/Verifier.h>
 #include <llvm/Support/CommandLine.h>
 #include <llvm/Support/TargetRegistry.h>
+#include <llvm/Object/ObjectFile.h>
 #include <llvm/Support/TargetSelect.h>
 
 #include "FN_llvm.hh"
@@ -90,9 +91,15 @@ void playground()
 
   MyObjectCache object_cache;
 
+  llvm::Expected<llvm::object::OwningBinary<llvm::object::ObjectFile>> object_file_ex = llvm::object::ObjectFile::createObjectFile(object_file_path);
+  if (!object_file_ex) {
+    return;
+  }
+
   llvm::Module *module_ptr = &*module;
   std::unique_ptr<llvm::ExecutionEngine> ee{llvm::EngineBuilder(std::move(module)).create()};
-  ee->setObjectCache(&object_cache);
+  ee->addObjectFile(std::move(*object_file_ex));
+  //ee->setObjectCache(&object_cache);
   ee->finalizeObject();
 
   const uint64_t function_ptr = ee->getFunctionAddress(function->getName().str());



More information about the Bf-blender-cvs mailing list