diff options
author | Richard Biener <rguenther@suse.de> | 2022-09-07 10:44:33 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-09-07 12:08:59 +0200 |
commit | 0386609923577e07354ee63754795b2f729e7e00 (patch) | |
tree | 93223fdd5fdda888c75e21b0fe9ec617a4be13a7 /libcpp/expr.cc | |
parent | d14514641d7d2052bc2bf1f09018e1f18f19850a (diff) | |
download | gcc-0386609923577e07354ee63754795b2f729e7e00.zip gcc-0386609923577e07354ee63754795b2f729e7e00.tar.gz gcc-0386609923577e07354ee63754795b2f729e7e00.tar.bz2 |
tree-optimization/106860 - fix profile scaling in split_loop
The following fixes a mistake in loop splitting which assumes loop
latches have a single predecessor and that edge is from the exit
test. Instead work from the single exit edge we have to find the
edge towards the latch.
PR tree-optimization/106860
* tree-ssa-loop-split.cc (split_loop): Find the exit to
latch edge from the loop exit edge instead of from the
latch. Verify we're going to find it.
* g++.dg/opt/pr106860.C: New testcase.
Diffstat (limited to 'libcpp/expr.cc')
0 files changed, 0 insertions, 0 deletions