------- Comment #1 from changpeng dot fang at amd dot com 2010-05-27 20:49 ------- The regressions are most likely from the patch that added non-constant step prefetching:
* From: Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com> * To: Christian Borntraeger <borntraeger at de dot ibm dot com> * Cc: gcc-patches <gcc-patches at gcc dot gnu dot org> * Date: Wed, 19 May 2010 12:40:51 +0200 * Subject: Re: [patch 4/4 v4] Allow loop prefetch code to speculatively prefetch non constant steps * 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! -- changpeng dot fang at amd dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |borntraeger at de dot ibm | |dot com http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44297