X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=docs%2Ftutorial%2FLangImpl9.rst;h=f02bba857c149265c76b0d9f7bd20f551cf75643;hb=cddc3e03e4ec99c0268c03a126195173e519ed58;hp=33987687dee6cde8651e9d663f97d9bef9f3a92e;hpb=4310bcf018d080c679c61f59d2db434ccf06a412;p=android-x86%2Fexternal-llvm.git diff --git a/docs/tutorial/LangImpl9.rst b/docs/tutorial/LangImpl9.rst index 33987687dee..f02bba857c1 100644 --- a/docs/tutorial/LangImpl9.rst +++ b/docs/tutorial/LangImpl9.rst @@ -49,7 +49,7 @@ For example, try adding: extending the type system in all sorts of interesting ways. Simple arrays are very easy and are quite useful for many different applications. Adding them is mostly an exercise in learning how the - LLVM `getelementptr <../LangRef.html#i_getelementptr>`_ instruction + LLVM `getelementptr <../LangRef.html#getelementptr-instruction>`_ instruction works: it is so nifty/unconventional, it `has its own FAQ <../GetElementPtr.html>`_! If you add support for recursive types (e.g. linked lists), make sure to read the `section in the LLVM @@ -90,8 +90,8 @@ For example, try adding: Have fun - try doing something crazy and unusual. Building a language like everyone else always has, is much less fun than trying something a little crazy or off the wall and seeing how it turns out. If you get -stuck or want to talk about it, feel free to email the `llvmdev mailing -list `_: it has lots +stuck or want to talk about it, feel free to email the `llvm-dev mailing +list `_: it has lots of people who are interested in languages and are often willing to help out. @@ -169,8 +169,8 @@ It is certainly possible to implement a safe language in LLVM, but LLVM IR does not itself guarantee safety. The LLVM IR allows unsafe pointer casts, use after free bugs, buffer over-runs, and a variety of other problems. Safety needs to be implemented as a layer on top of LLVM and, -conveniently, several groups have investigated this. Ask on the `llvmdev -mailing list `_ if +conveniently, several groups have investigated this. Ask on the `llvm-dev +mailing list `_ if you are interested in more details. Language-Specific Optimizations @@ -220,7 +220,7 @@ safe to optimize that into "return 0;" because C specifies what the In addition to simple library knowledge, it is possible to embed a variety of other language-specific information into the LLVM IR. If you have a specific need and run into a wall, please bring the topic up on -the llvmdev list. At the very worst, you can always treat LLVM as if it +the llvm-dev list. At the very worst, you can always treat LLVM as if it were a "dumb code generator" and implement the high-level optimizations you desire in your front-end, on the language-specific AST.