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]

Re: slot combination and alias analysis


    I think I can spot a bug (in one of your changes):

    int
    objects_must_conflict_p (t1, t2)
     tree t1, t2;
    {
      /* If neither has a type specified, we don't know if they'll conflict
         because we may be using them to store objects of various types, for
         example the argument and local variables areas of inlined functions.  */
      if (t1 == 0 && t2 == 0)
        return 0;

    The previous version did the equivalent of:

      if (t1 == 0 || t2 == 0)
        return 0;

Right. That was a change I meant to make.

    The reasoning is that an unknown type (the abuse of alias set zero in
    the old code), can be remapped to any alias set beyond our ability to
    know about it (say, by function inlining), and that the slots won't
    necessarily conflict.

But the code later in the function handles the case where one type is
unknown and, I think, does it correctly.


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