diff --git a/clang/include/clang/AST/RecursiveASTVisitor.h b/clang/include/clang/AST/RecursiveASTVisitor.h index 3389670a2ab9d9..cd9947f7ab9805 100644 --- a/clang/include/clang/AST/RecursiveASTVisitor.h +++ b/clang/include/clang/AST/RecursiveASTVisitor.h @@ -652,9 +652,11 @@ bool RecursiveASTVisitor::PostVisitStmt(Stmt *S) { #undef DISPATCH_STMT +// Inlining this method can lead to large code size and compile-time increases +// without any benefit to runtime performance. template -bool RecursiveASTVisitor::TraverseStmt(Stmt *S, - DataRecursionQueue *Queue) { +LLVM_ATTRIBUTE_NOINLINE bool +RecursiveASTVisitor::TraverseStmt(Stmt *S, DataRecursionQueue *Queue) { if (!S) return true;