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: [tree-ssa] Tail recursion improvement


On Thu, 2004-03-04 at 10:36, Zdenek Dvorak wrote:

> There seems to be a problem in tree-ssa.c:mark_def_sites; we process
> operands of vdefs after the definitions, which prevents the phi node
> for the type tag of x to be created.
> 
Yes, the patch looks OK.

> In case it indeed is a bug, where should it be fixed? Adding some more
> conditions to mark_stmt_if_obviously_necessary? Or setting
> DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL also for the type tag, somewhere?
> 
The problem here is that alias analysis is properly marking the name tag
as a global variable, but not the type tag.  That's why stores to TMT
are killed by DCE.

Since the program has no aliasing and the type tag is not associated
with an obviously global variable, we never mark it call-clobbered.  

I'll have a patch for it shortly.  I'll apply both patches once I fix
that.


Diego.


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