[Fortran] Improved dependency analysis of pointer variables

Paul Thomas paulthomas2@wanadoo.fr
Thu Mar 16 20:12:00 GMT 2006


Roger,

>! 	  /* Can these lengths be zero?  */
>! 	  if (fl1->length <= 0 || fl2->length <= 0)
>! 	    return 1;
>! 	  /* These can't overlap if [f11,fl1+length] is before
>! 	     [fl2,fl2+length], or [fl2,fl2+length] is before
>! 	     [fl1,fl1+length], otherwise they do overlap.  */
>! 	  if (fl1->offset + fl1->length > fl2->offset
>! 	      && fl2->offset + fl2->length > fl1->offset)
>  	    return 1;
>  	}
>  
>
Great. That's a good compromise. Anything that is directly equivalenced 
will be hit but indirect equivalences that do not overlap at all will 
not. That leaves open the possibility to be still smarter and requires 
that TODO...!

OK

Paul



More information about the Gcc-patches mailing list