[tree-ssa] reaching def. question

law@redhat.com law@redhat.com
Wed Mar 17 03:32:00 GMT 2004


In message <1079483792.3173.491.camel@localhost.localdomain>, Diego Novillo wri
tes:
 >On Tue, 2004-03-16 at 19:27, law@redhat.com wrote:
 >
 >> Which is not a safe thing to do if you've done things like copy propagation
 >> since you can have overlapping lifetimes.
 >> 
 >We do this all the time.  Passes just mark the variables they want to be
 >renamed and the SSA renamer is run as a cleanup.
They do this for newly exposed variables and possibly virtuals.  They do
not do this for real variables which have already been rewritten.  Re-rewriting
an existing variable is a non-trivial exercise.  


 >> You also have to be damn careful about marking something to be rewritten
 >> which is used in a mixed PHI node.  ie
 >> 
 >> a_3 = PHI (a_2, b_1)
 >> 
 >> Marking just a or b to be written is a recipe for disaster.
 >> 
 >More context, with concrete examples, please.  Are you talking about
 >copyprop *while* doing if-conversion?
No, I'm talking about cases where it is not safe to simply drop version
numbers, then rewrite the variables into SSA form again.
jeff



More information about the Gcc mailing list