re PR tree-optimization/82604 (SPEC CPU2006 410.bwaves ~50% performance regression...
authorBin Cheng <bin.cheng@arm.com>
Tue, 23 Jan 2018 16:47:03 +0000 (16:47 +0000)
committerBin Cheng <amker@gcc.gnu.org>
Tue, 23 Jan 2018 16:47:03 +0000 (16:47 +0000)
commit5955438a2ea81d9fb97d87a913315062ac47672b
treea533f366b09c242acbf48fb0b193100fa5bd82ad
parentcde9b2f815e3ce01bb84fef4b1c9a0cd45312eda
re PR tree-optimization/82604 (SPEC CPU2006 410.bwaves ~50% performance regression with trunk@253679 when ftree-parallelize-loops is used)

PR tree-optimization/82604
* tree-loop-distribution.c (enum partition_kind): New enum item
PKIND_PARTIAL_MEMSET.
(partition_builtin_p): Support above new enum item.
(generate_code_for_partition): Ditto.
(compute_access_range): Differentiate cases that equality can be
proven at all loops, the innermost loops or no loops.
(classify_builtin_st, classify_builtin_ldst): Adjust call to above
function.  Set PKIND_PARTIAL_MEMSET for partition appropriately.
(finalize_partitions, distribute_loop): Don't fuse partition of
PKIND_PARTIAL_MEMSET kind when distributing 3-level loop nest.
(prepare_perfect_loop_nest): Distribute 3-level loop nest only if
parloop is enabled.

From-SVN: r256990
gcc/ChangeLog
gcc/tree-loop-distribution.c