[clang] [clang][analyzer][NFC] Improve Clang Static Analyzer performance. (PR #138295)
via cfe-commits
cfe-commits at lists.llvm.org
Fri May 2 08:31:04 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp,h -- clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h clang/lib/StaticAnalyzer/Core/CoreEngine.cpp clang/lib/StaticAnalyzer/Core/ExprEngine.cpp clang/lib/StaticAnalyzer/Core/ProgramState.cpp clang/lib/StaticAnalyzer/Core/SValBuilder.cpp clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
``````````
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
index a5cd253af..03730b1bd 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
@@ -136,8 +136,7 @@ private:
public:
/// Construct a CoreEngine object to analyze the provided CFG.
- CoreEngine(ExprEngine &exprengine,
- FunctionSummariesTy *FS,
+ CoreEngine(ExprEngine &exprengine, FunctionSummariesTy *FS,
AnalyzerOptions &Opts,
llvm::BumpPtrAllocator &BlockCounterFactoryAllocator);
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
index 0f702008c..b765ba484 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
@@ -180,8 +180,8 @@ private:
public:
ExprEngine(cross_tu::CrossTranslationUnitContext &CTU, AnalysisManager &mgr,
- SetOfConstDecls *VisitedCalleesIn,
- FunctionSummariesTy *FS, InliningModes HowToInlineIn,
+ SetOfConstDecls *VisitedCalleesIn, FunctionSummariesTy *FS,
+ InliningModes HowToInlineIn,
std::array<llvm::BumpPtrAllocator, 7> &ProgramStateAllocators,
llvm::BumpPtrAllocator &BlockCounterFactoryAllocator);
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
index c957b2f95..7e1fae93d 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
@@ -527,11 +527,10 @@ private:
std::vector<ProgramState *> freeStates;
public:
- ProgramStateManager(ASTContext &Ctx,
- StoreManagerCreator CreateStoreManager,
- ConstraintManagerCreator CreateConstraintManager,
- std::array<llvm::BumpPtrAllocator, 7> &Allocators,
- ExprEngine *expreng);
+ ProgramStateManager(ASTContext &Ctx, StoreManagerCreator CreateStoreManager,
+ ConstraintManagerCreator CreateConstraintManager,
+ std::array<llvm::BumpPtrAllocator, 7> &Allocators,
+ ExprEngine *expreng);
~ProgramStateManager();
diff --git a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
index 8aee65b19..f05855a41 100644
--- a/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
+++ b/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
@@ -417,10 +417,11 @@ public:
const StackFrameContext *SFC);
};
-SValBuilder* createSimpleSValBuilder(llvm::BumpPtrAllocator &BasicValueFactoryAllocator,
- llvm::BumpPtrAllocator &SymbolManagerAllocator,
- llvm::BumpPtrAllocator &MemRegionManagerAllocator,
- ASTContext &context, ProgramStateManager &stateMgr);
+SValBuilder *
+createSimpleSValBuilder(llvm::BumpPtrAllocator &BasicValueFactoryAllocator,
+ llvm::BumpPtrAllocator &SymbolManagerAllocator,
+ llvm::BumpPtrAllocator &MemRegionManagerAllocator,
+ ASTContext &context, ProgramStateManager &stateMgr);
} // namespace ento
diff --git a/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp b/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
index dfbb222b5..caa9c6c32 100644
--- a/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
@@ -73,7 +73,8 @@ static std::unique_ptr<WorkList> generateWorkList(AnalyzerOptions &Opts) {
}
CoreEngine::CoreEngine(ExprEngine &exprengine, FunctionSummariesTy *FS,
- AnalyzerOptions &Opts, llvm::BumpPtrAllocator &BlockCounterFactoryAllocator)
+ AnalyzerOptions &Opts,
+ llvm::BumpPtrAllocator &BlockCounterFactoryAllocator)
: ExprEng(exprengine), WList(generateWorkList(Opts)),
CTUWList(Opts.IsNaiveCTUEnabled ? generateWorkList(Opts) : nullptr),
BCounterFactory(BlockCounterFactoryAllocator), FunctionSummaries(FS) {}
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
index 1dc7ba18e..4e639c29b 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
@@ -221,17 +221,18 @@ REGISTER_TRAIT_WITH_PROGRAMSTATE(PendingArrayDestruction,
static const char* TagProviderName = "ExprEngine";
-ExprEngine::ExprEngine(cross_tu::CrossTranslationUnitContext &CTU,
- AnalysisManager &mgr, SetOfConstDecls *VisitedCalleesIn,
- FunctionSummariesTy *FS, InliningModes HowToInlineIn,
- std::array<llvm::BumpPtrAllocator, 7> &ProgramStateAllocators,
- llvm::BumpPtrAllocator& BlockCounterFactoryAllocator)
+ExprEngine::ExprEngine(
+ cross_tu::CrossTranslationUnitContext &CTU, AnalysisManager &mgr,
+ SetOfConstDecls *VisitedCalleesIn, FunctionSummariesTy *FS,
+ InliningModes HowToInlineIn,
+ std::array<llvm::BumpPtrAllocator, 7> &ProgramStateAllocators,
+ llvm::BumpPtrAllocator &BlockCounterFactoryAllocator)
: CTU(CTU), IsCTUEnabled(mgr.getAnalyzerOptions().IsNaiveCTUEnabled),
AMgr(mgr), AnalysisDeclContexts(mgr.getAnalysisDeclContextManager()),
Engine(*this, FS, mgr.getAnalyzerOptions(), BlockCounterFactoryAllocator),
- G(Engine.getGraph()),
- StateMgr(getContext(), mgr.getStoreManagerCreator(), mgr.getConstraintManagerCreator(),
- ProgramStateAllocators, this),
+ G(Engine.getGraph()),
+ StateMgr(getContext(), mgr.getStoreManagerCreator(),
+ mgr.getConstraintManagerCreator(), ProgramStateAllocators, this),
SymMgr(StateMgr.getSymbolManager()), MRMgr(StateMgr.getRegionManager()),
svalBuilder(StateMgr.getSValBuilder()), ObjCNoRet(mgr.getASTContext()),
BR(mgr, *this), VisitedCallees(VisitedCalleesIn),
diff --git a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
index b2c636304..0a08e5ea4 100644
--- a/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
@@ -69,19 +69,18 @@ int64_t ProgramState::getID() const {
return getStateManager().Alloc.identifyKnownAlignedObject<ProgramState>(this);
}
-ProgramStateManager::ProgramStateManager(ASTContext &Ctx,
- StoreManagerCreator CreateSMgr,
- ConstraintManagerCreator CreateCMgr,
- std::array<llvm::BumpPtrAllocator, 7> &Allocators,
- ExprEngine *ExprEng)
- : Eng(ExprEng), EnvMgr(Allocators[0]), GDMFactory(Allocators[1]),
- svalBuilder(createSimpleSValBuilder(Allocators[2], Allocators[3], Allocators[4], Ctx, *this)),
- CallEventMgr(new CallEventManager(Allocators[5])), Alloc(Allocators[6]) {
+ProgramStateManager::ProgramStateManager(
+ ASTContext &Ctx, StoreManagerCreator CreateSMgr,
+ ConstraintManagerCreator CreateCMgr,
+ std::array<llvm::BumpPtrAllocator, 7> &Allocators, ExprEngine *ExprEng)
+ : Eng(ExprEng), EnvMgr(Allocators[0]), GDMFactory(Allocators[1]),
+ svalBuilder(createSimpleSValBuilder(Allocators[2], Allocators[3],
+ Allocators[4], Ctx, *this)),
+ CallEventMgr(new CallEventManager(Allocators[5])), Alloc(Allocators[6]) {
StoreMgr = (*CreateSMgr)(*this);
ConstraintMgr = (*CreateCMgr)(*this, ExprEng);
}
-
ProgramStateManager::~ProgramStateManager() {
for (GDMContextsTy::iterator I=GDMContexts.begin(), E=GDMContexts.end();
I!=E; ++I)
diff --git a/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp b/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
index 829c4d9cb..52192b383 100644
--- a/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
+++ b/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
@@ -53,13 +53,12 @@ void SValBuilder::anchor() {}
SValBuilder::SValBuilder(llvm::BumpPtrAllocator &BasicValueFactoryAllocator,
llvm::BumpPtrAllocator &SymbolManagerAllocator,
llvm::BumpPtrAllocator &MemRegionManagerAllocator,
- ASTContext &context,
- ProgramStateManager &stateMgr)
+ ASTContext &context, ProgramStateManager &stateMgr)
: Context(context), BasicVals(context, BasicValueFactoryAllocator),
SymMgr(context, BasicVals, SymbolManagerAllocator),
- MemMgr(context, MemRegionManagerAllocator),
- StateMgr(stateMgr),
- AnOpts(stateMgr.getOwningEngine().getAnalysisManager().getAnalyzerOptions()),
+ MemMgr(context, MemRegionManagerAllocator), StateMgr(stateMgr),
+ AnOpts(
+ stateMgr.getOwningEngine().getAnalysisManager().getAnalyzerOptions()),
ArrayIndexTy(context.LongLongTy),
ArrayIndexWidth(context.getTypeSize(ArrayIndexTy)) {}
diff --git a/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp b/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
index bcf998bdd..b927b39c6 100644
--- a/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
+++ b/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
@@ -68,10 +68,8 @@ public:
llvm::BumpPtrAllocator &SymbolManagerAllocator,
llvm::BumpPtrAllocator &MemRegionManagerAllocator,
ASTContext &context, ProgramStateManager &stateMgr)
- : SValBuilder(BasicValueFactoryAllocator,
- SymbolManagerAllocator,
- MemRegionManagerAllocator,
- context, stateMgr) {}
+ : SValBuilder(BasicValueFactoryAllocator, SymbolManagerAllocator,
+ MemRegionManagerAllocator, context, stateMgr) {}
~SimpleSValBuilder() override {}
SVal evalBinOpNN(ProgramStateRef state, BinaryOperator::Opcode op,
@@ -103,14 +101,14 @@ public:
};
} // end anonymous namespace
-SValBuilder *ento::createSimpleSValBuilder(llvm::BumpPtrAllocator &BasicValueFactoryAllocator,
- llvm::BumpPtrAllocator &SymbolManagerAllocator,
- llvm::BumpPtrAllocator &MemRegionManagerAllocator,
- ASTContext &context, ProgramStateManager &stateMgr) {
+SValBuilder *ento::createSimpleSValBuilder(
+ llvm::BumpPtrAllocator &BasicValueFactoryAllocator,
+ llvm::BumpPtrAllocator &SymbolManagerAllocator,
+ llvm::BumpPtrAllocator &MemRegionManagerAllocator, ASTContext &context,
+ ProgramStateManager &stateMgr) {
return new SimpleSValBuilder(BasicValueFactoryAllocator,
SymbolManagerAllocator,
- MemRegionManagerAllocator,
- context, stateMgr);
+ MemRegionManagerAllocator, context, stateMgr);
}
// Checks if the negation the value and flipping sign preserve
diff --git a/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp b/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
index 4fc9230d7..939457b02 100644
--- a/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
+++ b/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
@@ -764,7 +764,8 @@ void AnalysisConsumer::RunPathSensitiveChecks(Decl *D,
std::array<llvm::BumpPtrAllocator, 7> ProgramStateManagerAllocators;
llvm::BumpPtrAllocator BlockCounterFactoryAllocator;
- ExprEngine Eng(CTU, *Mgr, VisitedCallees, &FunctionSummaries, IMode, ProgramStateManagerAllocators, BlockCounterFactoryAllocator);
+ ExprEngine Eng(CTU, *Mgr, VisitedCallees, &FunctionSummaries, IMode,
+ ProgramStateManagerAllocators, BlockCounterFactoryAllocator);
// Execute the worklist algorithm.
llvm::TimeRecord ExprEngineStartTime;
``````````
</details>
https://github.com/llvm/llvm-project/pull/138295
More information about the cfe-commits
mailing list