This is the mail archive of the gcc-patches@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] Latent edge insertion bug


On Dec 23, 2003, at 1:57 PM, law@redhat.com wrote:
Note carefully that the initialization of iftmp.4_7 occurs _after_ the PHI
node which references iftmp.4_7. Not good.


I haven't seen this trigger with the branch sources, but I'm pretty sure
it is a latent problem. I can easily trigger it with the code which threads
through blocks with real statements.

I have seen it in one of the Specmarks. I was thinking about how to fix it
when I updated and it went away...


Anyway, this patch avoids using the destination block for the edge
insertion when the destination block has a PHI node.  We could possibly
actually look at the instructions we want to insert and the PHI nodes
and see if there is a conflict, but it doesn't seem to be worth the
headache.

Doing that was mostly what I was thinking about. If you don't bother, that
leads to splitting a fair number of edges that don't really need to be split;
just how bad is that?



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