https://github.com/steakhal commented:

Looks good overall.
Please compactify the tests by removing newlines that are not strictly 
necessary.

It's a pitty that `ProgramState::invalidateRegions` accepts an `Expr` instead 
of a `Stmt` and then later inside it just conjures the result of the 
invalidation for a Stmt... That API really should have accepted Stmts. If that 
would be the case, we could just use something like this here:
```c++
state = state->invalidateRegions(EscapingValues, A, currBldrCtx->blockCount(),
                                 Pred->getLocationContext(),
                                 /*CausedByPointerEscape=*/true);
```

Note that this would be the correct way of doing this, as it would traverse all 
the reachable regions via those arguments, thus getting the pointee of a 
pointee also invalidated etc - unlike what we do now here.

Could you use `I` or `Input` for the input expression? I suppose `O` 
represented the `Output` expression in the previous loop. 

https://github.com/llvm/llvm-project/pull/103714
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to