GCC build of HEAD failed for native with your patch on 2004-06-14T16:45:03Z.

Geoff Keating geoffk@geoffk.org
Tue Jun 15 22:59:00 GMT 2004


"GCC regression checker" <geoffk@apple.com> writes:

> +2004-06-14  J"orn Rennecke <joern.rennecke@superh.com>
> +
> +	* basic-block.h (could_fall_through): Declare.
> +	* cfganal.c (can_fallthru): Succeed if the target is EXIT_BLOCK_PTR.
> +	Fail if the source already has a fallthrough edge to the exit
> +	block pointer.
> +	(could_fall_through): New function.
> +	* cfgbuild.c (make_edges): Check if we already have a fallthrough
> +	edge to the exit block pointer.
> +	* cfglayout.c (fixup_fallthru_exit_predecessor): Check that it is
> +	not called before reload has completed.
> +	Handle special case of first block having a fall-through exit edge.
> +	(cfg_layout_finalize): Don't call it before reload or if we have
> +	rtl epilogues.
> +	(fixup_reorder_chain): A fall through to the exit block does not
> +	require the block to come last.  Add sanity checks.
> +	* cfgrtl.c (rtl_split_edge): Add special handling of fall through
> +	edges to the exit block.
> +	* function.c (cfglayout.h): #include.
> +	(thread_prologue_and_epilogue_insns): If we have neither return nor
> +	epilogue, but a fall through to the exit block from mid-function,
> +	force a non-fall-through exit.
> +	* Makefile.in (function.o): Depend on CFGLAYOUT_H.

I tracked down the continuing build failure, and it seems likely that
it's this patch.  The problem is that condjump_p is being miscompiled
by the stage1 compiler; it ends like this:

        xori r3,r11,62  ; 146   *rs6000.md:11506/3      [length = 12]
        subfic r0,r3,0
        adde r3,r0,r3
        blr     ; 194   return  [length = 4]
L220:
        lwz r2,12(r9)   ; 60    *movsi_internal1/3      [length = 4]
        li r3,1 ; 67    *movsi_internal1/5      [length = 4]
        lhz r0,0(r2)    ; 63    *rs6000.md:842/1        [length = 4]
        cmpwi cr7,r0,78 ; 64    *cmpsi_internal1        [length = 4]
        beqlr- cr7      ; 65    *rs6000.md:13596        [length = 4]
        cmpwi cr7,r0,62 ; 71    *cmpsi_internal1        [length = 4]
        bne+ cr7,L208   ; 72    *rs6000.md:13581        [length = 4]
        .align 2
        .globl _condjump_in_parallel_p
_condjump_in_parallel_p:
        mflr r0 ; 216   *movsi_internal1/9      [length = 4]

It appears that a 'blr' is missing at the end.

-- 
- Geoffrey Keating <geoffk@geoffk.org>



More information about the Gcc-regression mailing list