forwprop: Fix ICE when building an identity constructor [PR94784]
authorFei Yang <felix.yang@huawei.com>
Mon, 27 Apr 2020 10:08:04 +0000 (11:08 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Mon, 27 Apr 2020 10:08:04 +0000 (11:08 +0100)
commit5328710be314dee43da8027dbff547d48b85e35e
tree0f46d7f00baf8311a781d1d411cb858da977bab2
parentacdf733634745548c0167c40bad80e6140ac2eeb
forwprop: Fix ICE when building an identity constructor [PR94784]

In the testcase for PR94784, we have two vectors with the same ABI identity
but with different TYPE_MODEs. It would be better to flip the assert around
so that it checks that the two vectors have equal TYPE_VECTOR_SUBPARTS and
that converting the corresponding element types is a useless_type_conversion_p.

2020-04-27  Felix Yang  <felix.yang@huawei.com>

gcc/
PR tree-optimization/94784
* tree-ssa-forwprop.c (simplify_vector_constructor): Flip the
assert around so that it checks that the two vectors have equal
TYPE_VECTOR_SUBPARTS and that converting the corresponding element
types is a useless_type_conversion_p.

gcc/testsuite/
PR tree-optimization/94784
* gcc.dg/pr94784.c: New test.
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr94784.c [new file with mode: 0644]
gcc/tree-ssa-forwprop.c