danielmarjamaki added inline comments.
================ Comment at: lib/StaticAnalyzer/Core/ExprEngine.cpp:123 + // Is variable changed anywhere in TU? + for (const Decl *D : AMgr.getASTContext().getTranslationUnitDecl()->decls()) { + if (isChanged(D, VD)) ---------------- dcoughlin wrote: > Since you are calling `getInitialStateForGlobalStaticVar()` in > `getInitialState()` for each static variable declaration and > `getInitialState()` is called for each top-level function, you are doing an > n^3 operation in the size of the translation unit, which is going to be very, > very expensive for large translation units. > > Have you considered doing the analysis for static variables that are never > changed during call-graph construction? This should be a linear operation and > doing it during call-graph construction would avoid an extra walk of the > entire translation unit. hmm... could you tell me where the call-graph construction is that I can tweak? Repository: rL LLVM https://reviews.llvm.org/D37897 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits