PR tree-optimization/82604
commitb1c062d89266324eefb79fa75aea1fd3db048e65
authoramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Jan 2018 16:47:03 +0000 (23 16:47 +0000)
committeramker <amker@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Jan 2018 16:47:03 +0000 (23 16:47 +0000)
treea533f366b09c242acbf48fb0b193100fa5bd82ad
parent77cd3f2ba027bfee37bd8575519666bae90ddfe8
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@256990 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-loop-distribution.c