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


On Mon, 2003-12-15 at 14:18, Zdenek Dvorak wrote:
> 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 :-). 

The rest of it Im still thinking about :-)

Andrew




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