[Doc][NFC] Fix Kaleidoscope links, typos and add blog posts for MCJIT

This commit is contained in:
xgupta 2021-01-25 19:58:03 +05:30
parent 3201274dea
commit 3546b37221
20 changed files with 48 additions and 58 deletions

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -4,4 +4,4 @@
Kaleidoscope Tutorial
=====================
The Kaleidoscope Tutorial has `moved to another location <MyFirstLanguageFrontend/index.html>`_ .
The Kaleidoscope Tutorial has moved to :doc:`MyFirstLanguageFrontend/index`.

View File

@ -642,7 +642,7 @@ the LLVM JIT and optimizer. To build this example, use:
.. code-block:: bash
# Compile
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core mcjit native` -O3 -o toy
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core orcjit native` -O3 -o toy
# Run
./toy

View File

@ -355,12 +355,12 @@ beginning of the block. :)
Once the insertion point is set, we recursively codegen the "then"
expression from the AST. To finish off the "then" block, we create an
unconditional branch to the merge block. One interesting (and very
important) aspect of the LLVM IR is that it `requires all basic blocks
to be "terminated" <../LangRef.html#functionstructure>`_ with a `control
flow instruction <../LangRef.html#terminators>`_ such as return or
branch. This means that all control flow, *including fall throughs* must
be made explicit in the LLVM IR. If you violate this rule, the verifier
will emit an error.
important) aspect of the LLVM IR is that it :ref:`requires all basic
blocks to be "terminated" <functionstructure>` with a :ref:`control
flow instruction <terminators>` such as return or branch. This means
that all control flow, *including fall throughs* must be made explicit
in the LLVM IR. If you violate this rule, the verifier will emit an
error.
The final line here is quite subtle, but is very important. The basic
issue is that when we create the Phi node in the merge block, we need to
@ -801,7 +801,7 @@ the if/then/else and for expressions. To build this example, use:
.. code-block:: bash
# Compile
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core mcjit native` -O3 -o toy
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core orcjit native` -O3 -o toy
# Run
./toy

View File

@ -747,7 +747,7 @@ the support for user-defined operators. To build this example, use:
.. code-block:: bash
# Compile
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core mcjit native` -O3 -o toy
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core orcjit native` -O3 -o toy
# Run
./toy

View File

@ -870,7 +870,7 @@ mutable variables and var/in support. To build this example, use:
.. code-block:: bash
# Compile
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core mcjit native` -O3 -o toy
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core orcjit native` -O3 -o toy
# Run
./toy

View File

@ -452,7 +452,7 @@ debug information. To build this example, use:
.. code-block:: bash
# Compile
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core mcjit native` -O3 -o toy
clang++ -g toy.cpp `llvm-config --cxxflags --ldflags --system-libs --libs core orcjit native` -O3 -o toy
# Run
./toy

View File

@ -2,11 +2,8 @@
// Kaleidoscope with MCJIT
//===----------------------------------------------------------------------===//
The files in this directory are meant to accompany a series of blog posts
that describe the process of porting the Kaleidoscope tutorial to use the MCJIT
execution engine instead of the older JIT engine.
The files in this directory are accompany a series of blog posts that describe
the process of porting the Kaleidoscope tutorial to use the MCJIT execution
engine instead of the older JIT engine.
When the blog posts are ready this file will be updated with links to the posts.
These directories contain Makefiles that allow the code to be built in a
standalone manner, independent of the larger LLVM build infrastructure.

View File

@ -2,11 +2,12 @@
// Kaleidoscope with MCJIT
//===----------------------------------------------------------------------===//
The files in this directory are meant to accompany the first in a series of
The files in this directory are meant to accompany the third blog in a series of
three blog posts that describe the process of porting the Kaleidoscope tutorial
to use the MCJIT execution engine instead of the older JIT engine.
When the blog post is ready this file will be updated with a link to the post.
The link of blog post-
https://blog.llvm.org/posts/2013-08-02-object-caching-with-kaleidoscope/
The source code in this directory demonstrates the third version of the
program, now modified to accept an input IR file on the command line and,
@ -15,14 +16,12 @@ optionally, to use a basic caching mechanism to store generated object images.
The toy-jit.cpp file contains a version of the original JIT-based source code
that has been modified to support the input IR file command line option.
This directory contain a Makefile that allow the code to be built in a
standalone manner, independent of the larger LLVM build infrastructure. To build
the program you will need to have 'clang++' and 'llvm-config' in your path. If
you attempt to build using the LLVM 3.3 release, some minor modifications will
be required.
To build the program you will need to have 'clang++' and 'llvm-config' in your
path. If you attempt to build using the LLVM 3.3 release, some minor
modifications will be required.
This directory also contains a Python script that may be used to generate random
input for the program and test scripts to capture data for rough performance
comparisons. Another Python script will split generated input files into
definitions and function calls for the purpose of testing the IR input and
caching facilities.
caching facilities.

View File

@ -6,20 +6,16 @@ The files in this directory are meant to accompany the first in a series of
three blog posts that describe the process of porting the Kaleidoscope tutorial
to use the MCJIT execution engine instead of the older JIT engine.
When the blog post is ready this file will be updated with a link to the post.
The source code in this directory combines all previous versions, including the
old JIT-based implementation, into a single file for easy comparison with
command line options to select between the various possibilities.
This directory contain a Makefile that allow the code to be built in a
standalone manner, independent of the larger LLVM build infrastructure. To build
the program you will need to have 'clang++' and 'llvm-config' in your path. If
you attempt to build using the LLVM 3.3 release, some minor modifications will
be required.
To build the program you will need to have 'clang++' and 'llvm-config' in your
path. If you attempt to build using the LLVM 3.3 release, some minor
modifications will be required.
This directory also contains a Python script that may be used to generate random
input for the program and test scripts to capture data for rough performance
comparisons. Another Python script will split generated input files into
definitions and function calls for the purpose of testing the IR input and
caching facilities.
caching facilities.

View File

@ -2,17 +2,16 @@
// Kaleidoscope with MCJIT
//===----------------------------------------------------------------------===//
The files in this directory are meant to accompany the first in a series of
The files in this directory are meant to accompany the first blog in a series of
three blog posts that describe the process of porting the Kaleidoscope tutorial
to use the MCJIT execution engine instead of the older JIT engine.
When the blog post is ready this file will be updated with a link to the post.
The link of blog post-
https://blog.llvm.org/posts/2013-07-22-using-mcjit-with-kaleidoscope-tutorial/
The source code in this directory demonstrates the initial working version of
the program before subsequent performance improvements are applied.
This directory contain a Makefile that allow the code to be built in a
standalone manner, independent of the larger LLVM build infrastructure. To build
the program you will need to have 'clang++' and 'llvm-config' in your path. If
you attempt to build using the LLVM 3.3 release, some minor modifications will
be required, as mentioned in the blog posts.
To build the program you will need to have 'clang++' and 'llvm-config' in your
path. If you attempt to build using the LLVM 3.3 release, some minor
modifications will be required, as mentioned in the blog posts.

View File

@ -2,11 +2,12 @@
// Kaleidoscope with MCJIT
//===----------------------------------------------------------------------===//
The files in this directory are meant to accompany the first in a series of
The files in this directory are meant to accompany the second blog in a series of
three blog posts that describe the process of porting the Kaleidoscope tutorial
to use the MCJIT execution engine instead of the older JIT engine.
When the blog post is ready this file will be updated with a link to the post.
The link of blog post-
https://blog.llvm.org/posts/2013-07-29-kaleidoscope-performance-with-mcjit/
The source code in this directory demonstrates the second version of the
program, now modified to implement a sort of 'lazy' compilation.
@ -14,12 +15,10 @@ program, now modified to implement a sort of 'lazy' compilation.
The toy-jit.cpp file contains a version of the original JIT-based source code
that has been modified to disable most stderr output for timing purposes.
This directory contain a Makefile that allow the code to be built in a
standalone manner, independent of the larger LLVM build infrastructure. To build
the program you will need to have 'clang++' and 'llvm-config' in your path. If
you attempt to build using the LLVM 3.3 release, some minor modifications will
be required.
To build the program you will need to have 'clang++' and 'llvm-config' in your
path. If you attempt to build using the LLVM 3.3 release, some minor
modifications will be required.
This directory also contains a Python script that may be used to generate random
input for the program and test scripts to capture data for rough performance
comparisons.
comparisons.