Author: DonĂ¡t Nagy Date: 2024-08-12T10:34:54+02:00 New Revision: b68086241b2f386fc5cc53af2b3ee90624104dc4
URL: https://github.com/llvm/llvm-project/commit/b68086241b2f386fc5cc53af2b3ee90624104dc4 DIFF: https://github.com/llvm/llvm-project/commit/b68086241b2f386fc5cc53af2b3ee90624104dc4.diff LOG: [analyzer][NFC] Trivial refactoring of region invalidation (#102456) This commit removes `invalidateRegionsImpl()`, moving its body to `invalidateRegions(ValueList Values, ...)`, because it was a completely useless layer of indirection. Moreover I'm fixing some strange indentation within this function body and renaming two variables to the proper `UpperCamelCase` format. Added: Modified: clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h clang/lib/StaticAnalyzer/Core/ProgramState.cpp Removed: ################################################################################ diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h index 51d76dc257ee94..9889d2604a890e 100644 --- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h +++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h @@ -484,17 +484,6 @@ class ProgramState : public llvm::FoldingSetNode { friend void ProgramStateRetain(const ProgramState *state); friend void ProgramStateRelease(const ProgramState *state); - /// \sa invalidateValues() - /// \sa invalidateRegions() - ProgramStateRef - invalidateRegionsImpl(ArrayRef<SVal> Values, - const Expr *E, unsigned BlockCount, - const LocationContext *LCtx, - bool ResultsInSymbolEscape, - InvalidatedSymbols *IS, - RegionAndSymbolInvalidationTraits *HTraits, - const CallEvent *Call) const; - SVal wrapSymbolicRegion(SVal Base) const; }; diff --git a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp index f82cd944750a3c..e6d3399a219424 100644 --- a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp +++ b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp @@ -159,8 +159,8 @@ ProgramState::invalidateRegions(RegionList Regions, for (const MemRegion *Reg : Regions) Values.push_back(loc::MemRegionVal(Reg)); - return invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape, - IS, ITraits, Call); + return invalidateRegions(Values, E, Count, LCtx, CausedByPointerEscape, IS, + Call, ITraits); } ProgramStateRef @@ -172,18 +172,6 @@ ProgramState::invalidateRegions(ValueList Values, const CallEvent *Call, RegionAndSymbolInvalidationTraits *ITraits) const { - return invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape, - IS, ITraits, Call); -} - -ProgramStateRef -ProgramState::invalidateRegionsImpl(ValueList Values, - const Expr *E, unsigned Count, - const LocationContext *LCtx, - bool CausedByPointerEscape, - InvalidatedSymbols *IS, - RegionAndSymbolInvalidationTraits *ITraits, - const CallEvent *Call) const { ProgramStateManager &Mgr = getStateManager(); ExprEngine &Eng = Mgr.getOwningEngine(); @@ -197,21 +185,18 @@ ProgramState::invalidateRegionsImpl(ValueList Values, StoreManager::InvalidatedRegions TopLevelInvalidated; StoreManager::InvalidatedRegions Invalidated; - const StoreRef &newStore - = Mgr.StoreMgr->invalidateRegions(getStore(), Values, E, Count, LCtx, Call, - *IS, *ITraits, &TopLevelInvalidated, - &Invalidated); + const StoreRef &NewStore = Mgr.StoreMgr->invalidateRegions( + getStore(), Values, E, Count, LCtx, Call, *IS, *ITraits, + &TopLevelInvalidated, &Invalidated); - ProgramStateRef newState = makeWithStore(newStore); + ProgramStateRef NewState = makeWithStore(NewStore); if (CausedByPointerEscape) { - newState = Eng.notifyCheckersOfPointerEscape(newState, IS, - TopLevelInvalidated, - Call, - *ITraits); + NewState = Eng.notifyCheckersOfPointerEscape( + NewState, IS, TopLevelInvalidated, Call, *ITraits); } - return Eng.processRegionChanges(newState, IS, TopLevelInvalidated, + return Eng.processRegionChanges(NewState, IS, TopLevelInvalidated, Invalidated, LCtx, Call); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits