39 llvm::TimeTraceScope TimeProfile(
"LifetimeSafetyAnalysis");
41 const CFG &Cfg = *AC.getCFG();
42 DEBUG_WITH_TYPE(
"PrintCFG", Cfg.
dump(AC.getASTContext().getLangOpts(),
47 DEBUG_WITH_TYPE(
"LifetimeFacts", FactMgr.dump(Cfg, AC));
60 LoanPropagation = std::make_unique<LoanPropagationAnalysis>(
61 Cfg, AC, FactMgr, Factory.OriginMapFactory, Factory.LoanSetFactory);
63 LiveOrigins = std::make_unique<LiveOriginsAnalysis>(
64 Cfg, AC, FactMgr, Factory.LivenessMapFactory);
65 DEBUG_WITH_TYPE(
"LiveOrigins",
66 LiveOrigins->dump(llvm::dbgs(), FactMgr.getTestPoints()));
This file defines AnalysisDeclContext, a class that manages the analysis context data for context sen...
AnalysisDeclContext contains the context data for the function, method or block under analysis.
void runLifetimeChecker(const LoanPropagationAnalysis &LoanPropagation, const LiveOriginsAnalysis &LiveOrigins, const FactManager &FactMgr, AnalysisDeclContext &ADC, LifetimeSafetyReporter *Reporter)
Runs the lifetime checker, which detects use-after-free errors by examining loan expiration points an...