On Mon, Oct 5, 2026 at 9:11 PM Andrew MacLeod <[email protected]> wrote: > > The testcase triggers a problem that when an ssa_name was released by > simple_dce_from_worklist. The same name was then used from a cached > value i the relation oracle. This patch modifies release_ssa_name_fn > such that when an ssa name is being released, it also clear any current > range info. THis is similar to what is done during > reset_flow_sensitive_info (). > > This also uncovered a bug in the def chains where clearing the def chain > immediately rebuilds it. This is inadvisable when the name is being > released! > > Bootstrapped on x86_64-pc-linux-gnu with no new regressions. Pushed.
Hmm. A ranger instance does not have to be in fn->x_range_query (only with enable/disable_ranger ())? Also this feels a bit expensive - we have arranged for released SSA names to be not re-usable immediately by the current pass via dual free-lists, so a lazy approach should work and queries to released SSA names can instead be catched in the range oracle itself (for example by checking SSA_NAME_ON_FREELIST) Richard. > Andrew > >
