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]
Other format: [Raw text]

Re: [tree-ssa] Lazy updating of stmt operands


Hello,

> > > defining stmt's annotation, so given any SSA variable, you can get to
> > > the immediate uses by looking at the annotation for SSA_NAME_DEF_STMT.
> > > It needs a marginal extention to deal with the fact that there can be
> > > multiple defs/vdefs on one stmt, but we need to do that to handle
> > > virtual defs anyway.  I would prefer to keep this information right with
> > > the stmt rather than in a table on the side.
> > 
> > Immediate use is not a property of the statement, but the property of
> > the ssa name; so it should be in the SSA_NAME, as my patch does,
> > not in the statement annotations.
> 
> After pondering it, I have concluded you are correct, the immediate uses
> info should be attached to the SSA_NAME.  The pragmatic reason is that
> it eliminates the need to have the def stmt of the SSA_NAME in place
> before the uses are seen... 
> 
> ie, keeping the information accurate when you are adding a new ssa_name
> would *require* you to create the DEF first, or you have no place to put
> the uses information.  Although its probably good practice to issue the
> DEF first, enforcing that is pretty lame.  Putting it in the SSA_NAME
> resolves ths problem since the SSA_NAME must exist in order to actually
> occur in the stmt :-). 

my reason for having the information stored in the SSA_NAME actually
was that there may be multiple definitions in a single statement,
thus making it necessary to somehow determine of which of them is used
in the statement recorded as the immediate use; this would be extremely
cumbersome.

Zdenek


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