llvm.org GIT mirror llvm / 32217d6
[BuildingAJIT] Fix a couple of typos in the Chapter 3 draft. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278033 91177308-0d34-0410-b5e6-96231b3b80d8 Lang Hames 3 years ago
1 changed file(s) with 6 addition(s) and 6 deletion(s). Raw diff Collapse all Expand all
1818 Lazy Compilation
1919 ================
2020
21 When we add a module to the KaleidoscopeJIT class described in Chapter 2 it is
21 When we add a module to the KaleidoscopeJIT class from Chapter 2 it is
2222 immediately optimized, compiled and linked for us by the IRTransformLayer,
2323 IRCompileLayer and ObjectLinkingLayer respectively. This scheme, where all the
24 work to make a Module executable is done up front, is simple to understand its
25 performance characteristics are easy to reason about. However, it will lead to
26 very high startup times if the amount of code to be compiled is large, and may
27 also do a lot of unnecessary compilation if only a few compiled functions are
28 ever called at runtime. A truly "just-in-time" compiler should allow us to
24 work to make a Module executable is done up front, is simple to understand and
25 its performance characteristics are easy to reason about. However, it will lead
26 to very high startup times if the amount of code to be compiled is large, and
27 may also do a lot of unnecessary compilation if only a few compiled functions
28 are ever called at runtime. A truly "just-in-time" compiler should allow us to
2929 defer the compilation of any given function until the moment that function is
3030 first called, improving launch times and eliminating redundant work. In fact,
3131 the ORC APIs provide us with a layer to lazily compile LLVM IR: