On 4/5/23 14:10, Andrew MacLeod via Gcc-patches wrote:
When a statement is first processed, any SSA_NAMEs that are dependencies
are cached for quick future access.
if we ;later rewrite the statement (say propagate a constant into it),
its possible the ssa-name in this cache is no longer active. Normally
this is not a problem, but the changed to may_recompute_p forgot to take
that into account, and was checking a dependency from the cache that was
in the SSA_NAME_FREE_LIST. It thus had no SSA_NAME_DEF_STMT when we were
expecting one.
This patch simply rejects dependencies from consideration if they are in
the free list.
Bootstrapping on x86_64-pc-linux-gnu and presuming no regressio0ns, OK
for trunk?
eek. So you've got a released name in the cache? What happens if the
name gets released, then re-used? Aren't you going to get bogus results
in that case?
jeff