================
@@ -32,13 +32,28 @@ namespace clang::lifetimes {
namespace internal {
LifetimeSafetyAnalysis::LifetimeSafetyAnalysis(AnalysisDeclContext &AC,
- LifetimeSafetyReporter
*Reporter)
- : AC(AC), Reporter(Reporter) {}
+ LifetimeSafetyReporter
*Reporter,
+ size_t MaxCFGBlocks)
+ : MaxCFGBlocks(MaxCFGBlocks), AC(AC), Reporter(Reporter) {
+ FactMgr.setMaxCFGBlocksThreshold(MaxCFGBlocks);
+}
void LifetimeSafetyAnalysis::run() {
llvm::TimeTraceScope TimeProfile("LifetimeSafetyAnalysis");
const CFG &Cfg = *AC.getCFG();
+ if (MaxCFGBlocks > 0 && Cfg.getNumBlockIDs() > MaxCFGBlocks) {
+ std::string FuncName = "<unknown>";
+ if (const Decl *D = AC.getDecl())
+ if (const auto *ND = dyn_cast<NamedDecl>(D))
+ FuncName = ND->getQualifiedNameAsString();
----------------
usx95 wrote:
Move this into DEBUG_WITH_TYPE
```
DEBUG_WITH_TYPE("LifetimeSafety",
std::string FuncName = "<unknown>";
if (const Decl *D = AC.getDecl())
if (const auto *ND = dyn_cast<NamedDecl>(D))
FuncName = ND->getQualifiedNameAsString();
llvm::dbgs() << "LifetimeSafety ....
```
We do not want to compute this non-debug builds
https://github.com/llvm/llvm-project/pull/170444
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits