This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] Gimplifying Java
- From: Andrew MacLeod <amacleod at redhat dot com>
- To: Jeff Sturm <jsturm at one-point dot com>
- Cc: Jeff Law <law at redhat dot com>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: 12 Jun 2003 15:44:12 -0400
- Subject: Re: [tree-ssa] Gimplifying Java
- References: <Pine.LNX.email@example.com>
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;
> # 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