[llvm-dev] Outlining in JIT LLVM

David Chisnall via llvm-dev llvm-dev at lists.llvm.org
Thu Feb 16 08:51:08 PST 2017


On 16 Feb 2017, at 16:17, David Blaikie via llvm-dev <llvm-dev at lists.llvm.org> wrote:
> 
> Optimization passes (any transformation to IR except splitting Modules) is performed by the general LLVM optimizations, not by ORC itself.
> 
> LLVM (in either the general optimization libraries, or in ORC) doesn't currently have an outlining pass, as far as I know. I know it's something people talk about doing/wanting, but I don't believe it's been attempted/implemented so far.

The proposed outlining pass happens after lowering to machine instructions, as it’s easier to perform the matching there.  Note; however, that it would be quite difficult to fit this into a JIT compilation flow.  For latency, you typically wish to JIT as little as possible at a time (often single functions), yet for outlining to work well you must have multiple functions that contain duplication.  It’s unclear how these two would compose.

David



More information about the llvm-dev mailing list