diff options
author | Richard Biener <rguenther@suse.de> | 2023-03-01 09:10:19 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-03-01 10:09:45 +0100 |
commit | 85203d52bfa4a84da5f50e0a242891308ffa8d83 (patch) | |
tree | 6fb3095b02d869e025af99322173f3b06d7d9ac8 /gcc/fortran/trans-openmp.cc | |
parent | 9b4f7004a77b10bc403875f56c94f73ef86562d8 (diff) | |
download | gcc-85203d52bfa4a84da5f50e0a242891308ffa8d83.zip gcc-85203d52bfa4a84da5f50e0a242891308ffa8d83.tar.gz gcc-85203d52bfa4a84da5f50e0a242891308ffa8d83.tar.bz2 |
tree-optimization/108970 - ICE with vectorizer peeling
The function slpeel_can_duplicate_loop_p fails to verify we can
copy blocks, instead slpeel_tree_duplicate_loop_to_edge_cfg does
but that's too late. The following fixes this, also simplifying
error reporting which is somewhat pointless if we ICE immediately.
PR tree-optimization/108970
* tree-vect-loop-manip.cc (slpeel_can_duplicate_loop_p):
Check we can copy the BBs.
(slpeel_tree_duplicate_loop_to_edge_cfg): Avoid redundant
check.
(vect_do_peeling): Streamline error handling.
* gcc.dg/pr108970.c: New testcase.
Diffstat (limited to 'gcc/fortran/trans-openmp.cc')
0 files changed, 0 insertions, 0 deletions