https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122663

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #4)
> Created attachment 62783 [details]
> prototype patch
>
> I'm testing this if it works.  It misses replacing the hash-set with a
> bitmap and removing the remap_ssa_name check which should no longer be
> necessary given we are not removing stmts during the inlining but only
> afterwards.

The unused compare_ssa_versions function needs to be removed.  Then we
ICE building sel-sched.cc with debug info.

../../gcc/gcc/sel-sched.cc:5990:1: error: missing definition
 5990 | move_op_orig_expr_found (insn_t insn, expr_t expr,
      | ^~~~~~~~~~~~~~~~~~~~~~~
for SSA_NAME: insn_emitted_30 in statement:
# DEBUG insn_emitted => insn_emitted_30
during GIMPLE pass: fixup_cfg

possibly hinting at either a missed optimization in simple-dce-with-worklist
or a bogus DCE assumed by the current IPA machinery.

Ah, it's probably the call stmt itself where we leave a dangling SSA def,
so we have to keep the LHS on the new stmt.

Reply via email to