re PR tree-optimization/49318 (177.mesa in SPEC CPU 2000 failed to build)
PR tree-optimization/49318 * tree-vect-loop.c (vect_determine_vectorization_factor): Remove irrelevant pattern statements. From-SVN: r174891
This commit is contained in:
parent
6904f4b401
commit
f2164f876f
@ -1,3 +1,9 @@
|
||||
2011-06-10 Ira Rosen <ira.rosen@linaro.org>
|
||||
|
||||
PR tree-optimization/49318
|
||||
* tree-vect-loop.c (vect_determine_vectorization_factor): Remove
|
||||
irrelevant pattern statements.
|
||||
|
||||
2011-06-10 Hans-Peter Nilsson <hp@axis.com>
|
||||
|
||||
* system.h (SETJMP_VIA_SAVE_AREA): Poison.
|
||||
|
@ -1,3 +1,8 @@
|
||||
2011-06-10 Ira Rosen <ira.rosen@linaro.org>
|
||||
|
||||
PR tree-optimization/49318
|
||||
* gcc.dg/vect/pr49318.c: New test.
|
||||
|
||||
2011-06-09 David Krauss <potswa@mac.com>
|
||||
|
||||
* g++.dg/template/arrow1.C: New.
|
||||
|
22
gcc/testsuite/gcc.dg/vect/pr49318.c
Normal file
22
gcc/testsuite/gcc.dg/vect/pr49318.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-require-effective-target vect_int } */
|
||||
/* { dg-require-effective-target vect_float } */
|
||||
|
||||
typedef enum { GL_FALSE } GLenum;
|
||||
typedef unsigned char GLboolean;
|
||||
typedef int GLint;
|
||||
typedef unsigned int GLuint;
|
||||
typedef float GLfloat;
|
||||
typedef double GLdouble;
|
||||
typedef struct gl_context GLcontext;
|
||||
struct gl_context {
|
||||
GLfloat TextureMatrix[16];
|
||||
GLenum Primitive;
|
||||
};
|
||||
void gl_GetDoublev( GLcontext *ctx, GLenum pname, GLdouble *params ) {
|
||||
GLuint i;
|
||||
for (i=0; i<16; i++)
|
||||
params[i] = (GLint) ctx->TextureMatrix[i];
|
||||
}
|
||||
|
||||
/* { dg-final { cleanup-tree-dump "vect" } } */
|
@ -255,10 +255,20 @@ vect_determine_vectorization_factor (loop_vec_info loop_vinfo)
|
||||
|
||||
gcc_assert (stmt_info);
|
||||
|
||||
/* skip stmts which do not need to be vectorized. */
|
||||
/* Skip stmts which do not need to be vectorized. */
|
||||
if (!STMT_VINFO_RELEVANT_P (stmt_info)
|
||||
&& !STMT_VINFO_LIVE_P (stmt_info))
|
||||
{
|
||||
if (is_pattern_stmt_p (stmt_info))
|
||||
{
|
||||
/* We are not going to vectorize this pattern statement,
|
||||
therefore, remove it. */
|
||||
gimple_stmt_iterator tmp_gsi = gsi_for_stmt (stmt);
|
||||
STMT_VINFO_RELATED_STMT (stmt_info) = NULL;
|
||||
gsi_remove (&tmp_gsi, true);
|
||||
free_stmt_vec_info (stmt);
|
||||
}
|
||||
|
||||
if (vect_print_dump_info (REPORT_DETAILS))
|
||||
fprintf (vect_dump, "skip.");
|
||||
continue;
|
||||
|
Loading…
Reference in New Issue
Block a user