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]

[3.3 branch, 6 regressions] Re: 'fix' for 11350 causes bootstrap hang on Darwin


Matthias Klose writes:
> Andreas Tobler writes:
> > Andreas Tobler wrote:
> > 
> > > Geoff Keating wrote:
> > > 
> > >> Hi Jan,
> > >>
> > >> This patch:
> > >>
> > >> 2004-01-16  Jan Hubicka  <jh@suse.cz>
> > >>
> > >>         PR opt/11350
> > >>         * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
> > >>         after reload.
> > >>         * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
> > >>         rtl_try_redirect_by_replacing_branch): Likewise.
> > >>
> > >> causes bootstrap to hang on powerpc-darwin.  The sequence is:
> > > 
> > > 
> > > testing it on ppc linux too sine it hangs also.
> > 
> > Passed the hanger, building now runtimelibs.
> 
> Here is the update for 3.3 branch:
> 
> --- gcc/cfgrtl.c~	2004-01-16 13:40:47.000000000 +0100
> +++ gcc/cfgrtl.c	2004-01-17 11:01:11.000000000 +0100
> @@ -688,7 +688,7 @@
>  
>    if (tmp || !onlyjump_p (insn))
>      return false;
> -  if (reload_completed && JUMP_LABEL (insn)
> +  if (flow2_completed && JUMP_LABEL (insn)
>        && (table = NEXT_INSN (JUMP_LABEL (insn))) != NULL_RTX
>        && GET_CODE (table) == JUMP_INSN
>        && (GET_CODE (PATTERN (table)) == ADDR_VEC
> @@ -758,7 +758,7 @@
>        /* Recognize a tablejump that we are converting to a
>  	 simple jump and remove its associated CODE_LABEL
>  	 and ADDR_VEC or ADDR_DIFF_VEC.  */
> -      if ((tmp = JUMP_LABEL (insn)) != NULL_RTX
> +      if (! reload_completed && (tmp = JUMP_LABEL (insn)) != NULL_RTX
>  	  && (tmp = NEXT_INSN (tmp)) != NULL_RTX
>  	  && GET_CODE (tmp) == JUMP_INSN
>  	  && (GET_CODE (PATTERN (tmp)) == ADDR_VEC


compared to 20040110, a bootstrap with 20040117 including this patch
shows 4 new regressions:

FAIL: gcc.c-torture/execute/20011219-1.c compilation,  -O1 
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution,  -O1 
FAIL: gcc.c-torture/execute/20011219-1.c compilation,  -O2 
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution,  -O2 
FAIL: gcc.c-torture/execute/20011219-1.c compilation,  -O3 -g 
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution,  -O3 -g 
FAIL: gcc.c-torture/execute/20011219-1.c compilation,  -Os 
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution,  -Os 

Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/hom
e/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.
3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c  -w  -O0   -lm   -o 
/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x0    (ti
meout = 450)
PASS: gcc.c-torture/execute/20011219-1.c compilation,  -O0 
PASS: gcc.c-torture/execute/20011219-1.c execution,  -O0 
Executing on host: /home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/xgcc -B/hom
e/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/ /home/packages/gcc/3.3/gcc-3.3-3.
3.3ds3/src/gcc/testsuite/gcc.c-torture/execute/20011219-1.c  -w  -O1   -lm   -o 
/home/packages/gcc/3.3/gcc-3.3-3.3.3ds3/build/gcc/testsuite/20011219-1.x1    (ti
meout = 450)
/tmp/ccahubmm.o(.rodata+0xc): undefined reference to `.L7'
collect2: ld returned 1 exit status
compiler exited with status 1
output is:
/tmp/ccahubmm.o(.rodata+0xc): undefined reference to `.L7'
collect2: ld returned 1 exit status

FAIL: gcc.c-torture/execute/20011219-1.c compilation,  -O1 
UNRESOLVED: gcc.c-torture/execute/20011219-1.c execution,  -O1 


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