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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot 
gnu.org
             Status|NEW                         |ASSIGNED

--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> ---
<bb 25> [local count: 1073741824]:
_80 = SR.96_116(D);
# DEBUG this => SR.96_116(D)
# DEBUG firstElement => ptrCopy_79(D)
# DEBUG elementCount => sizeCopy_83(D)
# DEBUG capacity => sizeCopy_83(D)
# DEBUG INLINE_ENTRY dispose
# DEBUG firstElement => ptrCopy_79(D)
# DEBUG elementCount => sizeCopy_83(D)
# DEBUG capacity => sizeCopy_83(D)
# DEBUG disposer => SR.96_116(D)
# DEBUG INLINE_ENTRY dispose
_81 = MEM[(const struct ArrayDisposer *)SR.96_116(D)]._vptr.ArrayDisposer;
_82 = *_81;
__builtin_unreachable ();
# DEBUG firstElement => NULL
# DEBUG elementCount => NULL
# DEBUG capacity => NULL
# DEBUG disposer => NULL
# DEBUG this => NULL
# DEBUG firstElement => NULL
# DEBUG elementCount => NULL
# DEBUG capacity => NULL

after some folding.  I fear this is the general
gimple_build_builtin_unreachable
which is now generally used but esp. folding should _not_ mark the call
as control altering but leave that to CFG fixup (CFG cleanup doesn't catch
this since it only looks at the last stmt of BBs).

I'm fixing up in the use.

Reply via email to