From f8ba81e8bbc4d0d424c3b4c3581a9467e972c4de Mon Sep 17 00:00:00 2001 From: Anna Zaks Date: Fri, 15 Mar 2013 23:34:22 +0000 Subject: [PATCH] =?utf8?q?[analyzer]=20Address=20Jordan=E2=80=99s=20review?= =?utf8?q?=20of=20r177138=20(a=20micro=20optimization)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177204 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/StaticAnalyzer/Core/BugReporterVisitors.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp b/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp index bf616b1d26..d5b4714451 100644 --- a/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp +++ b/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp @@ -701,6 +701,14 @@ TrackConstraintBRVisitor::VisitNode(const ExplodedNode *N, SuppressInlineDefensiveChecksVisitor:: SuppressInlineDefensiveChecksVisitor(DefinedSVal Value, const ExplodedNode *N) : V(Value), IsSatisfied(false), IsTrackingTurnedOn(false) { + + // Check if the visitor is disabled. + SubEngine *Eng = N->getState()->getStateManager().getOwningEngine(); + assert(Eng && "Cannot file a bug report without an owning engine"); + AnalyzerOptions &Options = Eng->getAnalysisManager().options; + if (!Options.shouldSuppressInlinedDefensiveChecks()) + IsSatisfied = true; + assert(N->getState()->isNull(V).isConstrainedTrue() && "The visitor only tracks the cases where V is constrained to 0"); } @@ -730,11 +738,6 @@ SuppressInlineDefensiveChecksVisitor::VisitNode(const ExplodedNode *Succ, if (!IsTrackingTurnedOn) return 0; - AnalyzerOptions &Options = - BRC.getBugReporter().getEngine().getAnalysisManager().options; - if (!Options.shouldSuppressInlinedDefensiveChecks()) - return 0; - // Check if in the previous state it was feasible for this value // to *not* be null. if (!Pred->getState()->isNull(V).isConstrainedTrue()) { -- 2.40.0