https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78655
--- Comment #13 from Andrew Macleod <amacleod at redhat dot com> --- Probably. rangers nonnull processing also invokes infer_nonnull_range () on the statement, so should also be picking it up. The latter test case is really about recomputation then x_2 = a_1(D) == 0B; a_3 = a_1(D) + 40; return x_2; When x_2 is defined, we don't know that it is non-null. we only know its non-null if we were to recompute its value at the use in return x_2. We can leave this for now.. I'll follow up with it when we revisit the nonnull processing and recomputation model for the next stage 1.