Hi,
The Mesa llvmpipe CPU graphics drivers, used the LLVM coroutines to implement GPU barriers, I’ve noticed in llvm15 these have gone away as a C API. Do I now have to use C++ and rewrite a lot of code to use coroutines for JIT now?
Dave.
Hi,
The Mesa llvmpipe CPU graphics drivers, used the LLVM coroutines to implement GPU barriers, I’ve noticed in llvm15 these have gone away as a C API. Do I now have to use C++ and rewrite a lot of code to use coroutines for JIT now?
Dave.
The new pass manager has a C API. See llvm/include/llvm-c/Transforms/PassBuilder.h
.
LLVMRunPasses(..., "default<O0>", ..., ...)
should run all of the coroutine lowering passes. If you’re already going to run optimizations, then any of the default optimization pipelines (e.g. default<O2>
) will also run the coroutine lowering passes.