NoQ added a comment. Consider:
int flag; bool coin(); void foo() { flag = coin(); } void test() { int *x = 0; int local_flag; flag = 1; foo(); local_flag = flag; if (local_flag) x = new int; foo(); local_flag = flag; if (local_flag) *x = 5; } I'd rather track `flag` when i reach `local_flag`. I believe that we must track the RHS, but only as long as it's an overwrite on its own (or it's the value that participated in the collapse). This is why the heuristic that i suggested was "track normally until the *last* out-of-frame overwrite point or until the collapse point". Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64271/new/ https://reviews.llvm.org/D64271 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits