gnu/gcc/d4e24973be86c36709f0ddcfbf2dc0f3779ebae3 middle-end/125156 - preserve edge flags in cleanup_control_expr_graph
cleanup_control_expr_graph when setting EDGE_FALLTHRU cleared all
existing edge flags such as EDGE_IRREDUCIBLE_LOOP rather than
just the no longer relevant EDGE_TRUE_VALUE and EDGE_FALSE_VALUE flags.
PR middle-end/125156
* tree-cfgcleanup.cc (cleanup_control_expr_graph): Clear
EDGE_TRUE_VALUE and EDGE_FALSE_VALUE edge flags only.
* gcc.dg/torture/pr125156.c: New testcase.
(cherry picked from commit 7b804275b251cabc9699717713f3870b89ab3395)
2 files changed