Start on "dylib" HAL backend for running code from dynamic libraries.
The plan here is to use this for LLVM ahead-of-time (AOT) execution: a new compiler target will generate modules targeting this HAL backend that will contain ahead-of-time compiled platform/architecture-specific dynamic libraries (.so/.dll/.dylib).
This is modeled after iree/hal/llvmjit, but is intended to be generic and should not directly reference LLVM code or concepts. Existing restrictions on dynamic shapes, op coverage, etc. from llvmjit are mirrored here for the moment.
I've partially tested manually using some test .dll files and a (next PR) LLVMAOTTarget on the compiler side. I'd like to expand on `iree/hal/cts/` coverage soon.
Closes https://github.com/google/iree/pull/2099
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/iree/pull/2099 from ScottTodd:dylib d6356b683104d9e6d9bbd9f592a983787013e716
PiperOrigin-RevId: 314794646
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1eeeb07..bcb4876 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -69,6 +69,7 @@
# List of all HAL drivers to be built by default:
set(IREE_ALL_HAL_DRIVERS
+ DyLib
LLVM
Vulkan
VMLA