https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116848
Bug ID: 116848
Summary: Check to see if is_maybe_undefined can be replaced
with ssa_name_maybe_undef_p/mark_ssa_maybe_undefs in
loop unrolling
Product: gcc
Version: 15.0
Status: UNCONFIRMED
Keywords: compile-time-hog, internal-improvement
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: pinskia at gcc dot gnu.org
Reporter: pinskia at gcc dot gnu.org
Target Milestone: ---
I was looking into testsuite/gcc.dg/loop-unswitch-1.c to understand why it is
failing after some phiprop improvements and noticed that loop unswitching used
to use ssa_undefined_value_p but that was moved over to do something more fancy
with is_maybe_undefined (r7-6427-g8b670f93ab1136). But
ssa_name_maybe_undef_p/mark_ssa_maybe_undefs was added in
r13-972-gbe2861fe8c527a which should maybe used instead.
This can have a compile time impact since is_maybe_undefined has to check all
cases while mark_ssa_maybe_undefs is done outside of the loop and
ssa_name_maybe_undef_p is just a load.