[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