Generalize tblgen's dag parsing logic to handle arbitrary expressions
authorChris Lattner <sabre@nondot.org>
Wed, 6 Oct 2010 04:55:48 +0000 (04:55 +0000)
committerChris Lattner <sabre@nondot.org>
Wed, 6 Oct 2010 04:55:48 +0000 (04:55 +0000)
commit46f55527d848bcc7cff1210137caff29bbf1b010
treeb3fdb7408d7bf99860c1bad4889147c748b0f234
parentd752593b0b407e89220209e10be715a1cf455a52
Generalize tblgen's dag parsing logic to handle arbitrary expressions
as the operator of the dag.  Specifically, this allows parsing things
like (F.x 4) in addition to just (a 4).

Unfortunately, this runs afoul of an idiom being used by llvmc.  It
is using dags like (foo [1,2,3]) to represent a list of stuff being
passed into foo.  With this change, this is parsed as a [1,2,3]
subscript on foo instead of being the first argument to the dag.
Cope with this in the short term by requiring a "-llvmc-temp-hack"
argument to tblgen to get the old parsing behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115742 91177308-0d34-0410-b5e6-96231b3b80d8
Makefile.rules
test/LLVMC/MultipleOutputLanguages.td
test/LLVMC/OptionPreprocessor.td
test/TableGen/Dag.td
utils/TableGen/TGParser.cpp