Introduce some types and functions to make it easier to work with
authorJohn McCall <rjmccall@apple.com>
Mon, 28 Oct 2019 16:45:53 +0000 (09:45 -0700)
committerJohn McCall <rjmccall@apple.com>
Sat, 14 Dec 2019 05:16:47 +0000 (00:16 -0500)
commit91dd67ef724c07f28d4cb52448539f12ad488f2a
tree132234b852f295ec1c66efe85a0de1eb75dd311d
parenta7950ffd12caa2fb7ed4704128011bceeacd35e9
Introduce some types and functions to make it easier to work with
the tblgen AST node hierarchies.

Not totally NFC because both of the emitters now emit in a different
order.  The type-nodes emitter now visits nodes in hierarchy order,
which means we could use range checks in classof if we had any types
that would benefit from that; currently we do not.  The AST-nodes
emitter now uses a multimap keyed by the name of the record; previously
it was using `Record*`, which of couse isn't stable across processes
and may have led to non-reproducible builds in some circumstances.
clang/utils/TableGen/ASTTableGen.cpp [new file with mode: 0644]
clang/utils/TableGen/ASTTableGen.h
clang/utils/TableGen/CMakeLists.txt
clang/utils/TableGen/ClangASTNodesEmitter.cpp
clang/utils/TableGen/ClangTypeNodesEmitter.cpp