[patch 4/4 v4] Allow loop prefetch code to speculatively prefetch non constant steps

H.J. Lu hjl.tools@gmail.com
Wed May 19 22:32:00 GMT 2010


On Wed, May 19, 2010 at 5:40 PM, Andreas Krebbel
<krebbel@linux.vnet.ibm.com> wrote:
> On 05/07/2010 10:04 PM, Christian Borntraeger wrote:
>>
>> 2010-05-07  Christian Borntraeger<borntraeger@de.ibm.com>
>>
>>         * tree-ssa-loop-prefetch.c (mem_ref_group): Change step to tree.
>>         * tree-ssa-loop-prefetch.c (ar_data): Change step to tree.
>>         * tree-ssa-loop-prefetch.c (dump_mem_ref): Adopt debug code to
>>         handle a tree as step.  This also checks for a constant int vs.
>>         non-constant but loop-invariant steps.
>>         * tree-ssa-loop-prefetch.c (find_or_create_group): Change the sort
>>         algorithm to only consider steps that are constant ints.
>>         * tree-ssa-loop-prefetch.c (idx_analyze_ref): Adopt code to handle
>>         a tree instead of a HOST_WIDE_INT for step.
>>         * tree-ssa-loop-prefetch.c (gather_memory_references_ref): Handle
>>         tree instead of int and be prepared to see a NULL_TREE.
>>         * tree-ssa-loop-prefetch.c (prune_ref_by_self_reuse): Do not prune
>>         prefetches if the step cannot be calculated at compile time.
>>         * tree-ssa-loop-prefetch.c (prune_ref_by_group_reuse): Do not
>> prune
>>         prefetches if the step cannot be calculated at compile time.
>>         * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Issue prefetches
>>         for non-constant but loop-invariant steps.
>
> Applied to mainline. Thanks!
>

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44203

-- 
H.J.



More information about the Gcc-patches mailing list