vect: CSE for bump and offset in strided load/store operations.
authorKaipeng Zhou <zhoukaipeng3@huawei.com>
Wed, 17 Jun 2020 19:19:16 +0000 (20:19 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Wed, 17 Jun 2020 19:19:16 +0000 (20:19 +0100)
commit4a31a8add56d49867c187d90b3a89e97634543c2
tree798100e6fd1899ce1c505a151f32fb6f04d398c1
parent44492e248cbff60b12f5cbdaa32b265c5e8c9aff
vect: CSE for bump and offset in strided load/store operations.

Every time "vect_get_strided_load_store_ops" is called, new bump and offset
variables and a series of stmts are created.  And IVOPTs is not able to
eliminate them.  The patch use "cse_and_gimplify_to_preheader" to CSE them.

2020-06-17  Bin Cheng  <bin.cheng@linux.alibaba.com>
    Kaipeng Zhou  <zhoukaipeng3@huawei.com>

PR tree-optimization/95199
* tree-vect-stmts.c: Eliminate common stmts for bump and offset in
strided load/store operations and remove redundant code.

2020-06-17  Bin Cheng  <bin.cheng@linux.alibaba.com>
    Kaipeng Zhou  <zhoukaipeng3@huawei.com>

PR tree-optimization/95199
* gcc.target/aarch64/sve/pr95199.c: New test.
gcc/testsuite/gcc.target/aarch64/sve/pr95199.c [new file with mode: 0644]
gcc/tree-vect-stmts.c