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


On Thu, 2003-06-12 at 15:11, Jeff Sturm wrote:

> Hmm... the warning didn't trigger for me.

In some ways thats good  :-)
> 
> > Try it and take a look at what, if anything, it says your variable is,
> > and check the code coming out of the .dce pass to see what, if anything,
> > appears to be wrong.
> 
> Looking at dce, for fileName, I have:

> (Comments are mine.)  There are three copies clearly inserted into the
> wrong place.  Oh wait... the CFG is wrong after all!  Block 5 has no edge
> to 12, though it is marked as such:
> 
>           # BLOCK 5 (NameFinder.java:6).  PRED: 3.  SUCC: 12 6.
>           colon.5 = colon;
>           substring.6 = (java.lang.String:: *)substring;
>           T.7 = substring.6 (file.4, 0, colon.5);
>           fileName = T.7;
>           try
>             {
> 
>               # BLOCK 6 (NameFinder.java:18).  PRED: 5.  SUCC: 8 7.
> 
> Similar for BB10->BB12.  BB9->BB12 looks like a valid edge, but it is
> also within the try/catch block.  So now I know where to look...
> 
> Can't say SSA is at fault here, except better diagnostics would sure be
> nice. :)

Well, Im working on how to give more useful info...


So BB5 has 12 as a successor,  but there is no edge? Or you mean there
is an edge, but nowhere to insert the code?  The edge inserter has not
had to deal with TRY's yet, so it may not understand where to insert the
code.   I'd actually like to see this whole section, including the PHI
nodes and CFG info... It might be an easy fix inside the edge
inserter...

Thanks
Andrew


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