[Bug middle-end/106870] New: ctrl_altering flag is not set correctly
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 7 11:28:36 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106870
Bug ID: 106870
Summary: ctrl_altering flag is not set correctly
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: rguenth at gcc dot gnu.org
Target Milestone: ---
When trying to add the following verification I run into various issues with
the gimple_ctrl_altering_p flag which stmt_ends_bb_p which sets found_ctrl_stmt
ultimatively relies on for the noreturn case.
diff --git a/gcc/tree-cfg.cc b/gcc/tree-cfg.cc
index bbe08357d6e..a939a11d8bb 100644
--- a/gcc/tree-cfg.cc
+++ b/gcc/tree-cfg.cc
@@ -5708,6 +5709,14 @@ gimple_verify_flow_info (void)
seen_nondebug_stmt = true;
}
+ if (!found_ctrl_stmt && EDGE_COUNT (bb->succs) != 1)
+ {
+ error ("basic block %d has no control altering stmt but %d "
+ "outgoing edges",
+ bb->index, EDGE_COUNT (bb->succs));
+ err = 1;
+ }
+
gsi = gsi_last_nondebug_bb (bb);
if (gsi_end_p (gsi))
continue;
More information about the Gcc-bugs
mailing list