diff options
author | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2022-10-18 10:51:09 +0100 |
---|---|---|
committer | Andre Vieira <andre.simoesdiasvieira@arm.com> | 2022-10-18 10:51:09 +0100 |
commit | aae016f99b121b55fc1bcdfc2403fd22f04fa2df (patch) | |
tree | 5201b2a1487018d2062b4eaa26ad70c35a25d702 /gcc/tree-ssa-loop-unswitch.cc | |
parent | a23225fb4f764dfc3e3e729c7d7238f03f282aaa (diff) | |
download | gcc-aae016f99b121b55fc1bcdfc2403fd22f04fa2df.zip gcc-aae016f99b121b55fc1bcdfc2403fd22f04fa2df.tar.gz gcc-aae016f99b121b55fc1bcdfc2403fd22f04fa2df.tar.bz2 |
ifcvt: Do not lower bitfields if we can't analyze dr's [PR107275]
The ifcvt dead code elimination code was not built to deal with inline
assembly, loops with such would never be if-converted in the past since we can't
do data-reference analysis on them and vectorization would eventually fail. For
this reason we now also do not lower bitfields if the data-reference analysis
fails, as we would not end up vectorizing it. As a consequence this also fixes
this PR as the dead code elimination will not run for such cases and wrongfully
eliminate inline assembly statements.
gcc/ChangeLog:
PR tree-optimization/107275
* tree-if-conv.cc (if_convertible_loop_p_1): Move
find_data_references_in_loop call from here...
(if_convertible_loop_p): And move data-reference vector initialization
from here...
(tree_if_conversion):... to here.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/pr107275.c: New test.
Diffstat (limited to 'gcc/tree-ssa-loop-unswitch.cc')
0 files changed, 0 insertions, 0 deletions