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

Reply via email to