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, 12 Jun 2003 law@redhat.com wrote:
> Let me know what you find.  I'm about to dive back into the EH CFG
> stuff (where I suspect we've got at least one latent bug).   If
> I've got your analysis handy I can factor it into my cleanup work
> and hopefully resolve your problem.

See my last message to Andrew, I tried something like what follows, and it
seems to generate a better CFG for my test case.  I'm not yet convinced
this is always right either.  For instance, how can target_bb ever be null?

Jeff

Index: tree-cfg.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/Attic/tree-cfg.c,v
retrieving revision 1.1.4.105
diff -U7 -p -r1.1.4.105 tree-cfg.c
--- tree-cfg.c	12 Jun 2003 04:36:20 -0000	1.1.4.105
+++ tree-cfg.c	13 Jun 2003 22:00:01 -0000
@@ -1080,25 +1080,23 @@ make_ctrl_stmt_edges (basic_block bb)
       /* FALL THROUGH */
     case TRY_CATCH_EXPR:
       {
 	basic_block target_bb = bb_for_stmt (TREE_OPERAND (last, 0));

 	if (target_bb)
           make_edge (bb, target_bb, EDGE_FALLTHRU);
-	make_edge (bb, successor_block (bb), EDGE_FALLTHRU);
 	break;
       }

     case CATCH_EXPR:
       {
 	basic_block target_bb = bb_for_stmt (CATCH_BODY (last));

 	if (target_bb)
 	  make_edge (bb, target_bb, EDGE_FALLTHRU);
-	make_edge (bb, successor_block (bb), EDGE_FALLTHRU);
 	break;
       }

     case EH_FILTER_EXPR:
       {
 	basic_block target_bb = bb_for_stmt (EH_FILTER_FAILURE (last));



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