slp: handle externals correctly in linear_loads_p
authorTamar Christina <tamar.christina@arm.com>
Mon, 11 Jan 2021 09:57:41 +0000 (09:57 +0000)
committerTamar Christina <tamar.christina@arm.com>
Mon, 11 Jan 2021 09:57:41 +0000 (09:57 +0000)
commitbd4298e1927f6c519d5b7829023b1db7e64592e6
treeb88cbf80b5029f72ebb8d828eaa56a259ba55b35
parent39666d2b8858361b4921fe0ae87bba90a62d9b9a
slp: handle externals correctly in linear_loads_p

This fixes a bug with externals and linear_loads_p where I forgot to save the
value before returning.

It also fixes handling of nodes with multiple children on a non VEC_PERM node.
There the child iteration would already resolve the kind and the loads are All
expected to be the same if valid so just return one.

gcc/ChangeLog:

* tree-vect-slp-patterns.c (linear_loads_p): Fix externals.
gcc/tree-vect-slp-patterns.c