This is the mail archive of the gcc-patches@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]

Re: [patch, rfc] Make store motion use alias oracle


Hello,

> > here is the updated version of the patch that makes us use alias oracle
> > for both invariant motion and store motion, and adds a few trivial
> > improvements to the oracle, thus making it fix the fatigue problem
> > (I hope; I did not actually run the benchmark, I just looked at the
> > dumps).
> 
> After the patch has been applied to trunk it fails with ICE.  Here is
> a reduced test case:

hmm... serves me right; I made an obviously correct change in the patch
just before sending it, and did not bother checking whether it still
works.  I will send a fixed version soon.

Zdenek

> 
> 
> struct S { int X; int Y; };
> 
> int
> foo (struct S *s)
> {
>   int j;
> 
>   for (j = 0; j < 8; j++)
>     {
>       s[5].X += j;
>       s[5].Y += j;
>     }
> }
> =cut
> 
>  foo
> Analyzing compilation unit
> Performing interprocedural optimizations
>  <visibility> <early_local_cleanups> <inline> <static-var> <pure-const>
> <type-escape-var>Assembling functions:
>  foo
> a.c: In function 'foo':
> a.c:5: internal compiler error: tree check: expected ssa_name, have
> symbol_memory_tag in move_computations_stmt, at tree-ssa-loop-im.c:907


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