diff options
author | Richard Biener <rguenther@suse.de> | 2021-06-14 15:36:57 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-06-15 10:31:16 +0200 |
commit | dfef1164b1c8d0b7abdf302f94d4be99a75ca791 (patch) | |
tree | cb1f0c425f68d95fb5fd006ffed93e366baa1b00 /gcc/predict.c | |
parent | b10f895f41dbe98f2a7d448b91d083a68792a6a0 (diff) | |
download | gcc-dfef1164b1c8d0b7abdf302f94d4be99a75ca791.zip gcc-dfef1164b1c8d0b7abdf302f94d4be99a75ca791.tar.gz gcc-dfef1164b1c8d0b7abdf302f94d4be99a75ca791.tar.bz2 |
Handle multiple latches in irreducible region mark
The following makes irreducible region discovery handle multiple latches.
2021-06-14 Richard Biener <rguenther@suse.de>
* cfgloopanal.c (mark_irreducible_loops): Use a dominance
check to identify loop latches.
* cfgloop.c (verify_loop_structure): Likewise.
* loop-init.c (apply_loop_flags): Allow marked irreducible
regions even with multiple latches.
* predict.c (rebuild_frequencies): Simplify.
Diffstat (limited to 'gcc/predict.c')
-rw-r--r-- | gcc/predict.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/predict.c b/gcc/predict.c index 5d0cae5..d751e6c 100644 --- a/gcc/predict.c +++ b/gcc/predict.c @@ -4287,8 +4287,7 @@ rebuild_frequencies (void) if (profile_status_for_fn (cfun) == PROFILE_GUESSED) { - loop_optimizer_init (0); - mark_irreducible_loops (); + loop_optimizer_init (LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS); connect_infinite_loops_to_exit (); estimate_bb_frequencies (true); remove_fake_exit_edges (); |