According to a llvm blog, ThinLTO might be a solution to improve AOT generation performance by using a fully parallel backends.
Some kind of parallel frontends are also necessary. It is able to generate LLVM IR function by function in several working threads parallelly which is verified in JIT.
A fully parallel pipeline about AOT generation includes parallel frontends and backends. But I am not sure the middle partial, do we have to merge all IR-level functions into a single monolithic module and then delivery it to linker(thinLTO) and let thinLTO to split it? Or the thinLTO can accept a lot of small modules directly?
Let's use this issue to track the feature and maintain the discussion.
According to a llvm blog, ThinLTO might be a solution to improve AOT generation performance by using a fully parallel backends.
Some kind of parallel frontends are also necessary. It is able to generate LLVM IR function by function in several working threads parallelly which is verified in JIT.
A fully parallel pipeline about AOT generation includes parallel frontends and backends. But I am not sure the middle partial, do we have to merge all IR-level functions into a single monolithic module and then delivery it to linker(thinLTO) and let thinLTO to split it? Or the thinLTO can accept a lot of small modules directly?
Let's use this issue to track the feature and maintain the discussion.