[PATCH v2] Rerun loop-header-copying just before vectorization
Alan Lawrence
alan.lawrence@arm.com
Fri Jun 19 17:37:00 GMT 2015
This is a respin of https://gcc.gnu.org/ml/gcc-patches/2015-05/msg02139.html .
Changes are:
* Separate the two passes by descending from a common base class, allowing
different predicates;
* Test flag_tree_vectorize, and loop->force_vectorize/dont_vectorize - this
fixes the test failing before;
* Simplify the check for "code after exit edge";
* Revert unnecessary changes to pass_tree_loop_init::execute;
* Revert change to slp-perm-7 test (following fix by Marc Glisse)
Bootstrapped + check-gcc on aarch64 and x86_64 (linux).
gcc/ChangeLog:
* tree-pass.h (make_pass_ch_vect): New.
* passes.def: Add pass_ch_vect just before pass_if_conversion.
* tree-ssa-loop-ch.c (pass_ch_base, pass_ch_vect, pass_data_ch_vect,
pass_ch::process_loop_p): New.
(pass_ch): Extend pass_ch_base.
(pass_ch::execute): Move all but loop_optimizer_init/finalize to...
(pass_ch_base::execute): ...here.
gcc/testsuite/ChangeLog:
* gcc.dg/vect/vect-strided-a-u16-i4.c (main1): Narrow scope of x,y,z,w.
of unsigned
* gcc.dg/vect/vect-ifcvt-11.c: New.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: rerun-loop-ch-2.patch
Type: text/x-patch
Size: 7442 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150619/a36f2397/attachment.bin>
More information about the Gcc-patches
mailing list