Arthur O'Dwyer
2012-Nov-13 01:37 UTC
[LLVMdev] Errata for "LLVM Assembly Language" docs (llvm.org/docs/LangRef.html)
[Bcc: Chris Lattner, who's listed in the "Written by"; the doc doesn't have a maintainer listed] I was reading http://llvm.org/docs/LangRef.html today and found some errors (or at least places where the text could be clearer). This is *NOT* an exhaustive reading; I'm just reporting the bugs I found in a casual reading of the intro and skimming the rest. I'm operating on the theory that reporting even a small number of errata is better than leaving them in forever. (1) LangRef.html writes:> Identifiers which require other characters in their names can be surrounded with quotes. > Special characters may be escaped using "\xx" where xx is the ASCII code for the character > in hexadecimal. In this way, any character can be used in a name value, even quotes themselves.I would add an example to clarify where the quotation marks go, since it's non-obvious. Like so:> For example, the names %"a=b", %"a\3db", and %"a\3Db" all identify the same variable.(2) LangRef.html writes:> This last way of multiplying %X by 8 illustrates several important lexical features of LLVM: > Comments are delimited with a ';' and go until the end of line. > Unnamed temporaries are created when the result of a computation is not assigned to a named value. > Unnamed temporaries are numbered sequentiallyThe second two bullet points don't seem to be describing "lexical features of LLVM"; they're describing semantic features of the Clang LLVM backend. I think a more correct *and* more informative phrasing would be> This last way of multiplying %X by 8 illustrates several important lexical features of LLVM: > Comments are delimited with a ';' and go until the end of line. > The result of each (non-void) computation may be assigned to a variable, which may be named or unnamed. > By convention, unnamed temporary variables are numbered sequentially from %0.(3) LangRef.html writes:> If the unnamed_addr attribute is given, the address is know to not be significant and two identical functions can be merged.s/know/known/ Thanks, -Arthur
Maybe Matching Threads
- [LLVMdev] mistake in documentation? [http://llvm.org/docs/LangRef.html]
- [LLVMdev] [llvm-commits] [llvm] r160791 - in /llvm/trunk: docs/LangRef.html include/llvm/Intrinsics.td lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
- [LLVMdev] Bug in Language Reference? %0 versus %1 as starting index.
- [cfe-dev] [lldb-dev] [GitHub] RFC: Enforcing no merge commit policy
- [LLVMdev] Bug in Language Reference? %0 versus %1 as starting index.