llvm-project/llvm
Nicolai Haehnle b0cf9e93a6 TableGen: Resolve all template args simultaneously in AddSubClass
Summary:
Use the new resolver interface more explicitly, and avoid traversing
all the initializers multiple times.

Add a test case for a pattern that was broken by an earlier version
of this change.

An additional change is that we now remove *all* template arguments
after resolving them.

Change-Id: I86c828c8cc84c18b052dfe0f64c0d5cbf3c4e13c

Reviewers: arsenm, craig.topper, tra, MartinO

Subscribers: wdng, llvm-commits

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

llvm-svn: 326706
2018-03-05 15:21:11 +00:00
..
bindings Because of CVE-2018-6574, some compiler options and linker options are restricted to prevent arbitrary code execution. 2018-02-23 20:12:24 +00:00
cmake Don't make PDBs by default in Release mode 2018-02-15 21:25:23 +00:00
docs TableGen: Reimplement !foreach using the resolving mechanism 2018-03-05 15:21:04 +00:00
examples [ORC] Consolidate RTDyldObjectLinkingLayer GetMemMgr and GetResolver into a 2018-02-14 22:13:02 +00:00
include TableGen: Resolve all template args simultaneously in AddSubClass 2018-03-05 15:21:11 +00:00
lib TableGen: Resolve all template args simultaneously in AddSubClass 2018-03-05 15:21:11 +00:00
projects
resources
runtimes
test TableGen: Resolve all template args simultaneously in AddSubClass 2018-03-05 15:21:11 +00:00
tools Implementation of MRI "delete" command. 2018-03-02 23:23:48 +00:00
unittests [Utils] Salvage debug info in block simplification 2018-03-02 22:46:48 +00:00
utils TableGen: Use DefInit::getDef() instead of the type's getRecord() 2018-03-05 14:01:30 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitattributes
.gitignore
CMakeLists.txt build: add the ability to create a symlink for dsymutil 2018-02-28 23:00:50 +00:00
CODE_OWNERS.TXT
CREDITS.TXT
LICENSE.TXT
LLVMBuild.txt
README.txt
RELEASE_TESTERS.TXT
configure
llvm.spec.in

README.txt

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.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.