Commit 6cd3dd5b by Ira Rosen Committed by Ira Rosen

tree-vect-analyze.c (vect_object_analysis): Analyze initial condition of access…

tree-vect-analyze.c (vect_object_analysis): Analyze initial condition of access function instead of base.

        * tree-vect-analyze.c (vect_object_analysis): Analyze initial
        condition of access function instead of base.

From-SVN: r96092
parent e561e568
2005-03-08 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/20122
* tree-vect-analyze.c (vect_object_analysis): Analyze initial
condition of access function instead of base.
2005-03-07 Jeff Law <law@redhat.com> 2005-03-07 Jeff Law <law@redhat.com>
Steven Bosscher <stevenb@suse.de> Steven Bosscher <stevenb@suse.de>
......
2005-03-08 Ira Rosen <irar@il.ibm.com>
* gcc.dg/vect/pr20122.c: New test.
2005-03-07 Jeff Law <law@redhat.com> 2005-03-07 Jeff Law <law@redhat.com>
* gcc.dg/tree-ssa/20030821-1.c: Verify that the computed goto * gcc.dg/tree-ssa/20030821-1.c: Verify that the computed goto
......
/* { dg-require-effective-target vect_int } */
#include <stdarg.h>
#include "tree-vect.h"
typedef short ashort __attribute__ ((__aligned__(16)));
ashort Kernshort[24];
static void VecBug(ashort Kernel[8][24]) __attribute__((noinline));
static void VecBug(ashort Kernel[8][24]);
/* Doesn't occur of only inner-loop. */
static void VecBug(ashort Kernel[8][24])
{
int k,i;
for (k = 0; k<8; k++)
for (i = 0; i<24; i++)
Kernshort[i] = Kernel[k][i];
}
int main (int argc, char **argv)
{
check_vect ();
ashort Kernel[8][24];
int k,i;
for (k = 0; k<8; k++)
for (i = 0; i<24; i++)
Kernel[k][i] = 0;
VecBug(Kernel);
return 0;
}
/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */
...@@ -1654,10 +1654,11 @@ vect_object_analysis (tree memref, tree stmt, bool is_read, ...@@ -1654,10 +1654,11 @@ vect_object_analysis (tree memref, tree stmt, bool is_read,
fprintf (vect_dump, "not vectorized: ptr is loop invariant."); fprintf (vect_dump, "not vectorized: ptr is loop invariant.");
return NULL_TREE; return NULL_TREE;
} }
/* Since there exists DR for MEMREF, we are analyzing the base of /* Since there exists DR for MEMREF, we are analyzing the init of
handled component, which not necessary has evolution in the the access function, which not necessary has evolution in the
loop. */ loop. */
address_to_analyze = TREE_OPERAND (base, 0); address_to_analyze = initial_condition_in_loop_num (access_fn,
loop->num);
} }
/* 3.3 set data-reference structure for MEMREF. */ /* 3.3 set data-reference structure for MEMREF. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment