================ @@ -813,10 +813,7 @@ FunctionParmMutationAnalyzer::findMutation(const ParmVarDecl *Parm) { // before analyzing parameters of A. Then when analyzing the second "call A", // FunctionParmMutationAnalyzer can use this memoized value to avoid infinite // recursion. - Results[Parm] = nullptr; - if (const Stmt *S = BodyAnalyzer.findMutation(Parm)) - return Results[Parm] = S; - return Results[Parm]; + return Results[Parm] = BodyAnalyzer.findMutation(Parm); ---------------- kazutakahirata wrote:
We have the following a few lines above: ``` const auto Memoized = Results.find(Parm); if (Memoized != Results.end()) return Memoized->second; ``` Could we turn that into something like this and use the iterator from `try_emplace`? ``` auto [Memoized, Inserted] = Results.try_emplace(Parm); if (!Inserted) return Memoized->second; Memoized->second = ...; ``` Maybe we should rename `Memorized`. The name would sound strange if the insertion is successful. https://github.com/llvm/llvm-project/pull/125283 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits