hanchenye-llvm-project/clang/unittests/ASTMatchers/Dynamic
Benjamin Kramer 94355aeff8 [AST] Re-add TypeLocs and NestedNameSpecifierLocs to the ParentMap.
This relands r250831 after some fixes to shrink the ParentMap overall
with one addtional tweak: nodes with pointer identity (e.g. Decl* and
friends) can be store more efficiently so I put them in a separate map.
All other nodes (so far only TypeLoc and NNSLoc) go in a different map
keyed on DynTypedNode. This further uglifies the code but significantly
reduces memory overhead.

Overall this change still make ParentMap significantly larger but it's
nowhere as bad as before. I see about 25 MB over baseline (pre-r251008)
on X86ISelLowering.cpp. If this becomes an issue we could consider
splitting the maps further as DynTypedNode is still larger (32 bytes)
than a single TypeLoc (16 bytes) but I didn't want to introduce even
more complexity now.

Differential Revision: http://reviews.llvm.org/D14011

llvm-svn: 251101
2015-10-23 09:04:55 +00:00
..
CMakeLists.txt [CMake] Add clangBasic in ASTMatchersTests, according to r232051. 2015-03-12 23:49:06 +00:00
Makefile Fix clang/unittests/ASTMatchers/Dynamic/Makefile. clangDynamicASTMatchers should be linked in advance of clangAST and clangASTMatchers. 2015-07-13 00:52:19 +00:00
ParserTest.cpp [AST] Re-add TypeLocs and NestedNameSpecifierLocs to the ParentMap. 2015-10-23 09:04:55 +00:00
RegistryTest.cpp [AST] Re-add TypeLocs and NestedNameSpecifierLocs to the ParentMap. 2015-10-23 09:04:55 +00:00
VariantValueTest.cpp Replace some const std::string & with llvm::StringRef or std::string 2015-07-06 08:47:15 +00:00