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
>
>

Reply via email to