tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.
authorBin Cheng <bin.cheng@arm.com>
Mon, 31 Oct 2016 09:30:47 +0000 (09:30 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Mon, 31 Oct 2016 09:30:47 +0000 (09:30 +0000)
commit4cecd65999095eaa0535362beb9250f3c0419f9f
treee2dfec9e68a00954582016008f3b79b31ce5804a
parent2c6a05b15083a92a3813783be0e86f0224ec2ba3
tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.

* tree-vect-slp.c (vect_get_and_check_slp_defs): New parameter SWAP.
Check slp defs for COND_EXPR by swapping/inverting operands if the
new parameter SWAP indicates so.
(vect_build_slp_tree_1): New parameter SWAP.  Check COND_EXPR stmt
is isomorphic to the first stmt via swapping/inverting.  Store swap
information in the new parameter SWAP.
(vect_build_slp_tree): New local array SWAP and pass it to function
vect_build_slp_tree_1.  Cleanup result handling code for function
call to vect_get_and_check_slp_defs.  Skip operand swapping if the
order of operands has been fixed as indicated by SWAP[i].

From-SVN: r241697
gcc/ChangeLog
gcc/tree-vect-slp.c