forked from OSchip/llvm-project
				
			Reduce ASTMatchers stack footprint. Addresses http://llvm.org/PR38851
The BoundNodesTreeBuilder class is used both directly and indirectly as a local variable in matchesAncestorOfRecursively, memoizedMatchesAncestorOfRecursively and other functions that happen to be on long recursive call paths. By reducing the inline storage size of the SmallVector we dramatically reduce the stack requirements of ASTMatchers. Running clang-tidy with a large number of checks enabled on a few arbitrarily chosen files show no performance regression. llvm-svn: 351196
This commit is contained in:
		
							parent
							
								
									199a00c3a2
								
							
						
					
					
						commit
						abdc13a08a
					
				| 
						 | 
				
			
			@ -261,7 +261,7 @@ public:
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
  SmallVector<BoundNodesMap, 16> Bindings;
 | 
			
		||||
  SmallVector<BoundNodesMap, 1> Bindings;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class ASTMatchFinder;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue