On 7/16/24 8:34 AM, Richard Sandiford wrote:
order_nodes are used to implement ordered comparisons between
two insns with the same program point number.  remove_insn would
remove an order_node from its splay tree, but didn't remove it
from the insn.  This caused confusion if the insn was later
reinserted somewhere else that also needed an order_node.

Tested on aarch64-linux-gnu & x86_64-linux-gnu.  Pushed as obvious.

Richard


gcc/
        PR rtl-optimization/115929
        * rtl-ssa/insns.cc (function_info::remove_insn): Remove an
        order_node from the instruction as well as from the splay tree.

gcc/testsuite/
        PR rtl-optimization/115929
        * gcc.dg/torture/pr115929-1.c: New test.
OK. I do find myself wondering if you should just be pushing these patches. You know this code far better than anyone.


jeff

Reply via email to