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] | |
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] |