commit | 374516c8ec4f0fcf5a8b65ef9cf029f862d11096 | [log] [tgz] |
---|---|---|
author | Manuel Klimek <klimek@google.com> | Thu Mar 14 16:33:21 2013 +0000 |
committer | Manuel Klimek <klimek@google.com> | Thu Mar 14 16:33:21 2013 +0000 |
tree | fc5f8057c23cbd1695d10162f65466be695b9421 | |
parent | f753615897c86928517e48e4d106e669d59618c5 [diff] |
Implements memoization for ancestor matching. This yields a log(#ast_nodes) worst-case improvement with matchers like stmt(unless(hasAncestor(...))). Also made the order of visitation for ancestor matches BFS, as the most common use cases (for example finding the closest enclosing function definition) rely on that. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177081 91177308-0d34-0410-b5e6-96231b3b80d8