This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: building sh-elf / sh-linux (Was: Re: [PATCH/RFA] PR target/13250)
- From: Joern Rennecke <joern dot rennecke at superh dot com>
- To: renneckej at linsvr1 dot SuperH-SUN (renneckej)
- Cc: kkojima at rr dot iij4u dot or dot jp (Kaz Kojima), joern dot rennecke at superh dot com, gcc-patches at gcc dot gnu dot org, aoliva at redhat dot com
- Date: Fri, 4 Jun 2004 16:44:47 +0100 (BST)
- Subject: Re: building sh-elf / sh-linux (Was: Re: [PATCH/RFA] PR target/13250)
>
> I'm not really happy with having the scheduler follow through jumps to
> find call / call-value-copy pairs. I have now implemented
> the approach of deleting fixup_fallthru_exit_predecessor and making
> mid-function epilogues valid.
> There was also a real.c bug that got in the way. I'm appending the patch
> set that I am currently testing; I'll submit the two new patches
> individually when they are tested.
>
> 2004-06-04 J"orn Rennecke <joern.rennecke@superh.com>
>
> * basic-block.h (could_fall_through): Declare.
> * cfganal.c (can_fallthru): Suceed 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.
> (make_edges): Check if we already have a fallthrough edge to the
> exit block pointer.
> cfglayout.c (fixup_fallthru_exit_predecessor): Delete.
> (cfg_layout_finalize): Don't call it.
> (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.
>
> 2004-06-03 J"orn Rennecke <joern.rennecke@superh.com>
>
> * real.c (do_add): Initialize r->signalling and r->canonical.
>
> 2004-05-14 J"orn Rennecke <joern.rennecke@superh.com>
>
> * sched-int.h (in_post_call_group_p): Change type to enum.
> * sched-deps.c (sched_analyze_insn):
> (sched_analyze): When in_post_call_group_p is post_call_initial,
> don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
> and also reset in_post_call_group_p to post_call.
> (sched_analyze): When the previous basic block ended in a CALL_INSN,
I've chosen a i686-pc-linux-gnu host for a bootstrap test.
For the unmodified control, I got a failure during stage1 building
crtbegin.o - cc1 throws a floating point exception. The patched
compiler has moved on to stage2 in the meantime.
Likewise, sh-elf (using sources from the 26th May as baseline) has suceeded
building and the sh1 big endian results are:
=== gcc Summary for sh-hms-sim ===
# of expected passes 25703
# of unexpected failures 29
# of unexpected successes 1
# of expected failures 68
# of unresolved testcases 5
# of untested testcases 28
# of unsupported tests 368
Considering that the controls don't build at all, I suppose I can say the
regression test passed.