Go to file
Simon Tatham 047c1ab161 Fix BNF nits in TableGen language reference.
Summary:
In the course of writing an experimental ANTLR grammar based on this
document, I found three errors in the documented BNF:

SimpleValues of dag type are allowed to have no operands at all after
the initial DagArg specifying the operator. For example, the value
(outs) is extremely common in backends; an example in the test suite
is test/TableGen/AsmVariant.td line 30. But the BNF doesn't allow
DagArgList to expand to the empty string (it must contain at least one
DagArg), and therefore the DagArgList specifying the operands in the
dag-shaped production for SimpleValue should be optional.

In the production for BodyItem with a 'let' and an optional RangeList,
the RangeList should have braces around it if it's present, matching
code such as "let E{7-0} = ..." on test/TableGen/BitsInit.td line 42.
Those braces aren't included in the RangeList nonterminal itself, so
instead they need to be part of the optional segment of the BodyItem
production.

Finally, the identifier after 'defm' should be optional. Again, this
is very common in the real back end .td files; an example in the test
suite is in test/TableGen/defmclass.td line 49.

Reviewers: rengolin, nhaehnle, stoklund

Reviewed By: nhaehnle

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D45818

llvm-svn: 330570
2018-04-23 09:15:47 +00:00
clang Revert "[clang-format] Improve Incomplete detection for (text) protos" 2018-04-23 08:50:36 +00:00
clang-tools-extra update readability-identifier-naming-objc test to use interface ivar. Implementation ivars are not supported in 32-bits OS. 2018-04-23 01:05:02 +00:00
compiler-rt Revert "[Sanitizer] Internal Printf string precision argument + padding." 2018-04-20 20:24:02 +00:00
debuginfo-tests [Darwin] Specify DWARF 2/4 when running apple accelerator tests. 2018-02-26 20:56:45 +00:00
libclc powr: Use denormal path only 2018-04-17 19:35:32 +00:00
libcxx Don't do aligned allocations on MSVCRT before 19.12 (update 15.3) 2018-04-19 22:12:10 +00:00
libcxxabi [libc++abi] Replace __sync_* functions with __libcpp_atomic_* functions. 2018-04-16 22:00:14 +00:00
libunwind [cmake] Remove duplicate command line options from build 2018-04-05 20:27:50 +00:00
lld [ELF] Swap argument names: use Old to refer to original symbol and New for incoming one 2018-04-20 22:50:15 +00:00
lldb [CMake] Gate 'dsymutil' dependency 2018-04-23 08:44:06 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm Fix BNF nits in TableGen language reference. 2018-04-23 09:15:47 +00:00
openmp [OpenMP] Make bc file compilation sensitive to LIBOMPTARGET_NVPTX_DEBUG flag 2018-04-20 20:41:00 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly Update isl to isl-0.19-107-gc4fe33d8 2018-04-21 08:34:22 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.