This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

tree-ssa/lno compute_may_aliases failure


I added an invocation of compute_may_aliases pass (I need it after the
vectorizer, as suggested in http://gcc.gnu.org/ml/gcc/2004-02/msg01292.html
), and got a compilation failure during ssa_verify which directly follows
this new invocation of compute_may_aliases. Here is where I added the new
invocation (tree-optimize.c):

   NEXT_PASS (pass_dse);
   NEXT_PASS (DUP_PASS (pass_forwprop));
   NEXT_PASS (DUP_PASS (pass_phiopt));
   NEXT_PASS (pass_ccp);
   NEXT_PASS (DUP_PASS (pass_redundant_phi));
   NEXT_PASS (pass_fold_builtins);
   NEXT_PASS (pass_split_crit_edges);
   NEXT_PASS (pass_pre);
   NEXT_PASS (pass_scev);
+  NEXT_PASS (DUP_PASS (pass_build_pta));
+  NEXT_PASS (DUP_PASS (pass_may_alias));
+  NEXT_PASS (DUP_PASS (pass_del_pta));
   NEXT_PASS (pass_loop);

Is there a known reason why compute_may_aliases shouldn't be applied where
I applied it? should I have called an additional pass before it?

The compilation failure occurred in 6 SPEC benchmarks. Here is a small
test-case which triggers the problem (from SPEC's mesa):

float *gl_copy_map_points1f( int target,
                             int ustride, int uorder,
                             const float *points, unsigned int size)
{
   float *buffer, *p;
   unsigned int i, k;
   buffer = (float *) malloc(uorder * size * sizeof(float));
   if (buffer)
     for(i=0, p=buffer; i<uorder; i++, points+=ustride)
        for(k=0; k<size; k++)
          *p++ = points[k];
   return buffer;
}

This is the error I get (compiling the file above with just -O1):

In function `gl_copy_map_points1f':
eval_snippet.c:4: error: Missing definition
for SSA_NAME: TMT.12<D1116>_43

in statement:
TMT.12<D1116>_4 = PHI <TMT.12<D1116>_38(13), TMT.12<D1116>_43(10)>;

PHI argument
TMT.12<D1116>_43

for PHI node
TMT.12<D1116>_4 = PHI <TMT.12<D1116>_38(13), TMT.12<D1116>_43(10)>;

eval_snippet.c:4: error: Missing definition
for SSA_NAME: TMT.12<D1116>_43

in statement:
TMT.12<D1116>_39 = PHI <TMT.12<D1116>_38(14), TMT.12<D1116>_43(9)>;

PHI argument
TMT.12<D1116>_43

for PHI node
TMT.12<D1116>_39 = PHI <TMT.12<D1116>_38(14), TMT.12<D1116>_43(9)>;

eval_snippet.c:4: internal compiler error: verify_ssa failed.


thanks,
dorit


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]