[clang] [clang][mutation analyzer][NFC] Simplify code in ExprMutationAnalyzer (PR #125283)
Kazu Hirata via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 31 12:25:10 PST 2025
================
@@ -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
More information about the cfe-commits
mailing list