tree level aliasing and call clobber
Andrew Pinski
pinskia@physics.uc.edu
Sun Dec 25 23:08:00 GMT 2005
I noticed that if I try not to mark a variable as escaping, we don't
get the function
call to have V_MAY_DEF for that variable.
For an example in this Fortran code:
function i()
INTEGER :: i
INTEGER :: t
call f(t)
t = 2;
call g()
if (t .ne. 2) then
call abort ()
end if
i = t
end function
t cannot escape from the function as the variable is not marked as a
TARGET.
Is there a way to mark the function call for f as clobbering t but not
escaping?
Or do I have to modify tree-ssa-operands code to do it correctly?
PS I attached the patch which I am currently working on to make the
variable as not
being call clobbered. I use an attribute instead of a bit in the
decls' structure
since it seems only to happen for Fortran code.
Thanks,
Andrew Pinski
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: startfortranalias.diff.txt
URL: <https://gcc.gnu.org/pipermail/gcc/attachments/20051225/366f6394/attachment.txt>
More information about the Gcc
mailing list