]> gcc.gnu.org Git - gcc.git/commit
tree-optimization/114197 - unexpected if-conversion for vectorization
authorRichard Biener <rguenther@suse.de>
Mon, 4 Mar 2024 12:28:34 +0000 (13:28 +0100)
committerRichard Biener <rguenther@suse.de>
Mon, 4 Mar 2024 13:55:39 +0000 (14:55 +0100)
commit8fdac08b4d5f65973164a476bd255533ed97a766
treebb1b59e0a7881e540d2fd7ee5d7b474799d436f3
parenta19ab1c42aba47fbfb122a6160f504565aef0943
tree-optimization/114197 - unexpected if-conversion for vectorization

The following avoids lowering a volatile bitfiled access and in case
the if-converted and original loops end up in different outer loops
because of simplifcations enabled scrap the result since that is not
how the vectorizer expects the loops to be laid out.

PR tree-optimization/114197
* tree-if-conv.cc (bitfields_to_lower_p): Do not lower if
there are volatile bitfield accesses.
(pass_if_conversion::execute): Throw away result if the
if-converted and original loops are not nested as expected.

* gcc.dg/torture/pr114197.c: New testcase.
gcc/testsuite/gcc.dg/torture/pr114197.c [new file with mode: 0644]
gcc/tree-if-conv.cc
This page took 0.071863 seconds and 5 git commands to generate.