On Tue, May 22, 2018 at 6:38 PM Bin Cheng <bin.ch...@arm.com> wrote: > Hi, > This patch partially improves loop distribution for PR85720. It now supports runtime > loop versioning if the loop can be distributed into builtin functions. Note for this > moment only coarse-grain runtime alias is checked, while different overlapping cases > for different dependence relations are not supported yet. > Note changes in break_alias_scc_partitions and version_loop_by_alias_check do not > strictly match each other, with the latter more restricted. Because it's hard to pass > information around. Hopefully this will be resolved when classifying distributor.
> Bootstrap and test on x86_64. Is it OK? OK. Thanks, Richard. > Thanks, > bin > 2018-05-22 Bin Cheng <bin.ch...@arm.com> > * tree-loop-distribution.c (break_alias_scc_partitions): Don't merge > SCC if all partitions are builtins. > (version_loop_by_alias_check): New parameter. Generate cancelable > runtime alias check if all partitions are builtins. > (distribute_loop): Update call to above function. > gcc/testsuite > 2018-05-22 Bin Cheng <bin.ch...@arm.com> > * gcc.dg/tree-ssa/pr85720.c: New test. > * gcc.target/i386/avx256-unaligned-store-2.c: Disable loop pattern > distribution.