This is the mail archive of the
gcc-regression@gcc.gnu.org
mailing list for the GCC project.
Re: GCC build of HEAD failed for native with your patch on 2004-06-14T16:45:03Z.
- From: Geoff Keating <geoffk at geoffk dot org>
- To: gcc-regression at gcc dot gnu dot org
- Cc: amodra at bigpond dot net dot au, aph at redhat dot com, dberlin at dberlin dot org, ian at wasabisystems dot com, jason at redhat dot com, joern dot rennecke at superh dot com, mark at codesourcery dot com, mckinlay at redhat dot com, paul at codesourcery dot com, pcarlini at suse dot de, rakdver at atrey dot karlin dot mff dot cuni dot cz, stevenb at suse dot de, tobias dot schlueter at physik dot uni-muenchen dot de, uweigand at de dot ibm dot com
- Date: 15 Jun 2004 15:59:20 -0700
- Subject: Re: GCC build of HEAD failed for native with your patch on 2004-06-14T16:45:03Z.
- References: <20040614165320.6C729F80F447@gcc-regress.apple.com>
"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>