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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Keywords|                            |wrong-code
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
           Priority|P3                          |P1

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
  e_6(ab) = 0;

  # e_3(ab) = PHI <e_6(ab)(2)>

we're calling simple_dce_from_worklist with no_delete == true and that
simply zeros abnormal edge defs.  no_delete doesn't make any sense
here.

#0  set_ssa_use_from_ptr (use=0x7ffff69d8840, val=<integer_cst 0x7ffff681f360>)
    at /space/rguenther/src/gcc-clean/gcc/ssa-iterators.h:333
#1  0x0000000001d15e1d in simple_dce_from_worklist (worklist=0x7fffffffcb30, 
    need_eh_cleanup=0x0, no_delete=true)
    at /space/rguenther/src/gcc-clean/gcc/tree-ssa-dce.cc:2331
#2  0x0000000001fbf156 in remove_unreachable::handle_early (
    this=0x7fffffffd650, s=<gimple_cond 0x7ffff66045d8>, 
    e=<edge 0x7ffff69fee00 (4 -> 8)>)
    at /space/rguenther/src/gcc-clean/gcc/tree-vrp.cc:251
#3  0x0000000001fbeba0 in remove_unreachable::maybe_register (
    this=0x7fffffffd650, s=<gimple_cond 0x7ffff66045d8>)
    at /space/rguenther/src/gcc-clean/gcc/tree-vrp.cc:132
#4  0x0000000001fc34d2 in rvrp_folder::pre_fold_stmt (this=0x7fffffffd620, 
    stmt=<gimple_cond 0x7ffff66045d8>)
    at /space/rguenther/src/gcc-clean/gcc/tree-vrp.cc:1050
#5  0x0000000001dff83d in substitute_and_fold_dom_walker::before_dom_children (
    this=0x7fffffffd010, bb=<basic_block 0x7ffff6602180 (4)>)
    at /space/rguenther/src/gcc-clean/gcc/tree-ssa-propagate.cc:798
#6  0x0000000003966e35 in dom_walker::walk (this=0x7fffffffd010, 
    bb=<basic_block 0x7ffff6602180 (4)>)
    at /space/rguenther/src/gcc-clean/gcc/domwalk.cc:311
#7  0x0000000001e000a2 in substitute_and_fold_engine::substitute_and_fold (
    this=0x7fffffffd620, block=<basic_block 0x0>)
    at /space/rguenther/src/gcc-clean/gcc/tree-ssa-propagate.cc:995

that's the odd __builtin_unreachable () handling.

I have a surgery.

Reply via email to