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 self checking infrastructure


In message <20031119205044.GL11681@kam.mff.cuni.cz>, Jan Hubicka writes:
 >> In message <20031119203450.GS16923@atrey.karlin.mff.cuni.cz>, Jan Hubicka w
 >rite
 >> s:
 >>  >> In message <20031119190649.GQ16923@atrey.karlin.mff.cuni.cz>, Jan Hubic
 >ka w
 >>  >rite
 >>  >> s:
 >>  >>  >This brings me into questions about my tail call updating code.
 >>  >>  >Perhaps I need to re-do SSA form on call cobbered variables after
 >>  >>  >removing the call?
 >>  >> Are you changing the CFG?  Are you changing the dominator tree?  Those
 >>  >I replace tail call by edge back to the beggining of function and I
 >>  >possibly split edge fron entry point.  I also take care to construct PHI
 >>  >nodes for all referenced arguments by hand.
 >>  >This does change CFG, but does not change dominance relationships.
 >>  >I am however removing call and perhaps we are maintaining something that
 >>  >relies on the presence of call...
 >> Since you're not changing the dominance relationships, I think you are
 >> safe.  Presumably you create a PHI node for every variable that is set
 >> inside the newly created loop which is also live at the head of the loop.
 >> Right?
 >Hmm, well, does the case of uninitialized variables count?  Can I detect
 >these somehow?
Yes, I think they do.  This has always been a little fuzzy to me, but
I believe folks have argued that you want a PHI if there is a join point
where the uninitialized version meets with some initialized version.

jeffa


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