[Bug tree-optimization/106866] [13 Regression] ICE in predicate::init_from_control_deps
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 7 10:00:31 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106866
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |hubicka at gcc dot gnu.org
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
So somehow we late figure bar() doesn't return abnormally and thus DSE
eliminates a call to it but doesn't trigger
if (need_ab_cleanup && stmt_can_make_abnormal_goto (stmt))
bitmap_set_bit (need_ab_cleanup, bb->index);
which means when we either set ECF_LEAF to the function or cleared
cfun->calls_setjmp (the recursive invocation) we should have pruned
abnormal edges but we failed to. That ends us with a block like
;; basic block 4, loop depth 0
;; pred: 12
;; 5
# uninitialized_2(ab) = PHI <uninitialized_5(12), uninitialized_3(ab)(5)>
goto <bb 11>; [99.96%]
;; succ: 11
;; 5
where the 4->5 edge is abnormal but there's no stmt in this block that
could be responsible for it. We also fail to verify ICE here.
More information about the Gcc-bugs
mailing list