GCC build of HEAD failed for native with your patch on 2004-06-14T16:45:03Z.
Tue Jun 15 22:59:00 GMT 2004
"GCC regression checker" <firstname.lastname@example.org> writes:
> +2004-06-14 J"orn Rennecke <email@example.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]
blr ; 194 return [length = 4]
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]
mflr r0 ; 216 *movsi_internal1/9 [length = 4]
It appears that a 'blr' is missing at the end.
- Geoffrey Keating <firstname.lastname@example.org>
More information about the Gcc-regression