================ ---------------- NagyDonat wrote:
The first `if` condition (the early return) makes no sense :sweat_smile: it is unsound in several different ways that are summarized in [my recent discourse thread](https://discourse.llvm.org/t/simplifying-failure-modes-in-explodednode-creation/91542). Gábor Tóthvári is working on removing this early return return completely. I think after the removal of this "try to transition from a sink" logic error (where the early return is always needed to "hide" the assertion failure) it will be straightforward to correct a few checkers (that don't check the nullity of the node, which can be null even with this early return) and remove this early return. Note that there is no theoretical justification for having this sort of early return here – its is just a leaky bandage that covers up missing nullity checks – inaccurately. (A "try to create a new node, return the predecessor if we cached out" function could have been legitimate, but this early return tries to _predict_ caching out and can fail in both direction.) https://github.com/llvm/llvm-project/pull/218970 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
