]> git.ipfire.org Git - thirdparty/gcc.git/commit
ifcvt: Don't lower bitfields with non-constant offsets [PR 111882]
authorAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 20 Oct 2023 16:02:32 +0000 (17:02 +0100)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Fri, 20 Oct 2023 16:02:32 +0000 (17:02 +0100)
commit24cf1f600b8ad34c68a51f48884e72d01f729893
tree59debe52a843fb527c47472f70d82f94924fb4ba
parentc29d55234e3577021b7dabb623e69732fb1407ce
ifcvt: Don't lower bitfields with non-constant offsets [PR 111882]

This patch stops lowering of bitfields by ifcvt when they have non-constant
offsets as we are not likely to be able to do anything useful with those during
vectorization.  That also fixes the issue reported in PR 111882, which was
being caused by an offset with a side-effect being lowered, but constants have
no side-effects so we will no longer run into that problem.

gcc/ChangeLog:

PR tree-optimization/111882
* tree-if-conv.cc (get_bitfield_rep): Return NULL_TREE for bitfields
with non-constant offsets.

gcc/testsuite/ChangeLog:

* gcc.dg/vect/pr111882.c: New test.
gcc/testsuite/gcc.dg/vect/pr111882.c [new file with mode: 0644]
gcc/tree-if-conv.cc