]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix profiledbootstrap
authorJan Hubicka <jh@suse.cz>
Thu, 3 Aug 2023 20:42:27 +0000 (22:42 +0200)
committerJan Hubicka <jh@suse.cz>
Thu, 3 Aug 2023 20:42:27 +0000 (22:42 +0200)
commit93236ad9e8fa9208e754e8806dc369e1a79dbdf7
treeb9deeab6fd9c764297ec89224e03542a7dad760a
parentc83528d2367b353156e27af50b63d1c14686f778
Fix profiledbootstrap

Profiledbootstrap fails with ICE in update_loop_exit_probability_scale_dom_bbs
called from loop unroling.
The reason is that under relatively rare situations, we may run into case where
loop has multiple exits and all are considered as likely but then we scale down
the profile and one of the exits becomes unlikely.

We pass around unadjusted_exit_count to scale exit probability correctly.  In this
case we may end up using uninitialized value and profile-count type intentionally
bombs on that.

gcc/ChangeLog:

PR bootstrap/110857
* cfgloopmanip.cc (scale_loop_profile): (Un)initialize
unadjusted_exit_count.
gcc/cfgloopmanip.cc