Customizing module compilation in ORC JITs

Hi Lang,

I’m looking at extending the compilation passes used in the LLILC JIT and it seems like the simplest thing is to make a copy of the SimpleCompiler functor into the LLILC code and then modify it for the phases I want to run. But I was wondering if this was the best approach. Do you expect different clients to create their own compiler functors or do you imagine that SimpleCompiler will be joined by more sophisticated siblings that are more configurable with respect to what’s run phase wise?

Initial PR of the copied code (prior to us starting to modify it) is here:



Hi Russell,

SimpleCompiler is just a baseline/proof-of-concept. My hope is that it will be joined by more sophisticated compiler classes. If you are interested in contributing such a class back to the LLVM mainline that would be much appreciated. :slight_smile:


Thanks, I’ll see what I can put together.