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]

Re: gcc 3.1 ICE in make_label_edge on hppa1.1-hp-hpux10.20--bootstrap fails


Hi,

> Frame 2 doesn't match up with a call so the program may have gone wild.
> If I was to guess, I think the failure is caused by Jan Hubicka's patch
> to delete unnecessary labels.  Note that label=0x0 in the last call to
> make_label_edge.
Please try to CC me next time, so I will not miss the email.  The volume of
gcc lists is high and I can't say I am reading everything.

Sadly for me I would also guess that my CFG work is the purpose for the failure.

I've sent short time ago fix to redirect_edge, that should fix many misterious
problems that have appeared recently.  Can you please try that one and let me
know if it works?  If not, can I have the preprocessed file, so I can try it on
cross-compiler?

I am attaching the patch.
Thanks,
Honza

Tue Jul 17 18:48:08 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (redirect_edge_and_branch): Bail out on the complex edges.

Index: flow.c
===================================================================
RCS file: /cvs/gcc/egcs/gcc/flow.c,v
retrieving revision 1.429
diff -c -3 -p -r1.429 flow.c
*** flow.c	2001/07/17 04:55:23	1.429
--- flow.c	2001/07/17 16:47:03
*************** redirect_edge_and_branch (e, target)
*** 1777,1782 ****
--- 1777,1785 ----
    basic_block src = e->src;
    rtx insn = src->end;
  
+   if (e->flags & EDGE_COMPLEX)
+     return false;
+ 
    if (try_redirect_by_replacing_jump (e, target))
      return true;
    /* Do this fast path late, as we want above code to simplify for cases


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