On 10/24/23 04:50, Richard Sandiford wrote:
If an optimisation removes the last real use of a definition,
there can still be artificial uses left.  This patch removes
those uses too.

These artificial uses exist because RTL-SSA is only an SSA-like
view of the existing RTL IL, rather than a native SSA representation.
It effectively treats RTL registers like gimple vops, but with the
addition of an RPO view of the register's lifetime(s).  Things are
structured to allow most operations to update this RPO view in
amortised sublinear time.

gcc/
        * rtl-ssa/functions.h (function_info::process_uses_of_deleted_def):
        New member function.
        * rtl-ssa/functions.cc (function_info::process_uses_of_deleted_def):
        Likewise.
        (function_info::change_insns): Use it.
OK
jeff

Reply via email to