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: make brofiledbootstrap fails on hammer-branch


> 
> Honza,
> 
> on my Athlon I got this failure:
> 
> stage1/xgcc -Bstage1/ -B/opt/gcc/hammer-3_3-branch/i686-suse-linux-gnu/bin/ -c   -g -O2 -fprofile-arcs -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long -fno-common  -DHAVE_CONFIG_H    -I. -I. -I/cvs/gcc-hammer-3_3-branch/gcc -I/cvs/gcc-hammer-3_3-branch/gcc/. -I/cvs/gcc-hammer-3_3-branch/gcc/config -I/cvs/gcc-hammer-3_3-branch/gcc/../include /cvs/gcc-hammer-3_3-branch/gcc/c-decl.c -o c-decl.o
> /cvs/gcc-hammer-3_3-branch/gcc/c-decl.c: In function `complete_array_type':
> /cvs/gcc-hammer-3_3-branch/gcc/c-decl.c:3352: internal compiler error: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in update_bb_for_insn, at cfgrtl.c:468

Hi,
the problem is that update_bb_for_insn is called for block containing
branches we can temporarily create when profiling (and remove it later
via split_sub_basic_blocks). Regtested/bootstrapped, OK for mainline?
I've installed it to the branch, so make profiledbootstrap should work
now.

Thu Apr  3 09:46:42 CEST 2003  Jan Hubicka  <jh at suse dot cz>
	* cfgrtl.c (update_bb_for_insn): Do not set block for barriers.
Index: cfgrtl.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cfgrtl.c,v
retrieving revision 1.59.2.5
diff -c -3 -p -r1.59.2.5 cfgrtl.c
*** cfgrtl.c	28 Mar 2003 11:42:50 -0000	1.59.2.5
--- cfgrtl.c	3 Apr 2003 07:44:43 -0000
*************** update_bb_for_insn (bb)
*** 465,471 ****
  
    for (insn = bb->head; ; insn = NEXT_INSN (insn))
      {
!       set_block_for_insn (insn, bb);
        if (insn == bb->end)
  	break;
      }
--- 465,472 ----
  
    for (insn = bb->head; ; insn = NEXT_INSN (insn))
      {
!       if (GET_CODE (insn) != BARRIER)
!         set_block_for_insn (insn, bb);
        if (insn == bb->end)
  	break;
      }


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