@@ -50,7 +50,7 @@ test LLVM have been ported to a plethora of platforms.
5050What API do I use to store a value to one of the virtual registers in LLVM IR's SSA representation?
5151---------------------------------------------------------------------------------------------------
5252
53- In short: you can't. It's actually kind of a silly question once you grok
53+ In short: you can't. It's actually kind of a silly question once you understand
5454what's going on. Basically, in code like:
5555
5656.. code-block :: llvm
@@ -80,7 +80,7 @@ What source languages are supported?
8080
8181LLVM currently has full support for C and C++ source languages through
8282`Clang <https://clang.llvm.org/ >`_. Many other language frontends have
83- been written using LLVM, and an incomplete list is available at
83+ been written using LLVM; an incomplete list is available at
8484`projects with LLVM <https://llvm.org/ProjectsWithLLVM/ >`_.
8585
8686
@@ -91,12 +91,12 @@ LLVM intermediate representation (IR) format. Assuming you want to write your
9191language's compiler in the language itself (rather than C++), there are 3
9292major ways to tackle generating LLVM IR from a front-end:
9393
94- 1. **Call into the LLVM libraries code using your language's FFI (foreign
94+ 1. **Call into the LLVM libraries using your language's FFI (foreign
9595 function interface). **
9696
9797 * *for: * best tracks changes to the LLVM IR, .ll syntax, and .bc format
9898
99- * *for: * enables running LLVM optimization passes without a emit/parse
99+ * *for: * enables running LLVM optimization passes without an emit/parse
100100 overhead
101101
102102 * *for: * adapts well to a JIT context
@@ -128,10 +128,10 @@ most common hurdle with calling C from managed code is interfacing with the
128128garbage collector. The C interface was designed to require very little memory
129129management, and so is straightforward in this regard.
130130
131- What support is there for a higher level source language constructs for building a compiler?
131+ What support is there for a higher- level source language constructs for building a compiler?
132132--------------------------------------------------------------------------------------------
133133Currently, there isn't much. LLVM supports an intermediate representation
134- which is useful for code representation but will not support the high level
134+ which is useful for code representation but will not support the high- level
135135(abstract syntax tree) representation needed by most compilers. There are no
136136facilities for lexical nor semantic analysis.
137137
@@ -215,7 +215,7 @@ for it.
215215
216216Why does instcombine + simplifycfg turn a call to a function with a mismatched calling convention into "unreachable"? Why not make the verifier reject it?
217217----------------------------------------------------------------------------------------------------------------------------------------------------------
218- This is a common problem run into by authors of front-ends that are using
218+ This is a common problem encountered by authors of front-ends that are using
219219custom calling conventions: you need to make sure to set the right calling
220220convention on both the function and on each call to the function. For
221221example, this code:
@@ -274,7 +274,7 @@ Here's an example:
274274 }
275275
276276 In this example, "test" always passes ``@foo ``/``false `` into ``bar ``, which
277- ensures that it is dynamically called with the right calling conv (thus, the
277+ ensures that it is dynamically called with the right calling convention (thus, the
278278code is perfectly well defined). If you run this through the inliner, you
279279get this (the explicit "or" is there so that the inliner doesn't dead code
280280eliminate a bunch of stuff):
0 commit comments