]> gcc.gnu.org Git - gcc.git/commit
middle-end: skip checking loop exits if loop malformed [PR111878]
authorTamar Christina <tamar.christina@arm.com>
Thu, 16 Nov 2023 12:11:22 +0000 (12:11 +0000)
committerTamar Christina <tamar.christina@arm.com>
Thu, 16 Nov 2023 12:11:55 +0000 (12:11 +0000)
commit7a496b7ce105185be12e023e749c90d5f7561879
tree60b939cf7ed85a59cd0c8d49fd2375f4fa61c137
parentec35fdc9576d3907973667b57932b21514ee5062
middle-end: skip checking loop exits if loop malformed [PR111878]

Before my refactoring if the loop->latch was incorrect then find_loop_location
skipped checking the edges and would eventually return a dummy location.

It turns out that a loop can have
loops_state_satisfies_p (LOOPS_HAVE_RECORDED_EXITS) but also not have a latch
in which case get_loop_exit_edges traps.

This restores the old behavior.

gcc/ChangeLog:

PR tree-optimization/111878
* tree-vect-loop-manip.cc (find_loop_location): Skip edges check if
latch incorrect.

gcc/testsuite/ChangeLog:

PR tree-optimization/111878
* gcc.dg/graphite/pr111878.c: New test.
gcc/testsuite/gcc.dg/graphite/pr111878.c [new file with mode: 0644]
gcc/tree-vect-loop-manip.cc
This page took 0.073913 seconds and 6 git commands to generate.