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]

Re: Deprecating cc0 (and consequently cc0 targets)


Hello!

On September 20, 2019 5:38:38 PM GMT+02:00, Jeff Law <law@redhat.com> wrote:
>So this message is serving as official notice that we are *deprecating*
>all cc0 support in gcc-10.  We are not removing any code or targets at
>this time -- removals would happen during the gcc-11 cycle.
>
>
>avr
>cris
>h8300
>m68k
>vax
>cr16
>
>This is based on actually looking at the backend patterns.
>backends.html indicates the mn103 port would be affected, but I think
>it's just out-of-date.  Similarly it fails to mention cr16, but cr16
>clearly has affected patterns (I'll address that separately)
>
>This patch deprecates the affected targets.  With some magic folks can
>continue to build them.  However, if nobody steps forward to convert
>them from cc0 to MODE_CC those targets will be removed during the
>gcc-11
>cycle.

We have raised $5000 to support anyone willing to work on this for the
m68k target [1]. We really need the m68k to stay as it's essential to
be able to compile for Linux/m68k, NetBSD/m68k and AROS/m68k (a new
and ABI-compatible AmigaOS clone). I'm sure other communities like in the
NeXTStep, Atari and Mac/m68k forums are interested in keeping the backend
as well. I'm confident we will be able to raise even more money as the
community is large and active.

>If someone is interested in possibly doing a conversion, I would
>strongly recommend reviewing the best documentation we have on the
>subject:
>
>https://gcc.gnu.org/wiki/CC0Transition
>
>I worked with my son about a year ago to transition the v850 to MODE_CC
>using that page as a guideline.  We also have a partial transition for
>the H8/300 port (not far enough to even build anything yet).  I had
>hoped we would finish the H8/300 port last year and would have tackled
>another, but events have gotten in the way.

Any chance that the unfinished code can be shared? I'm looking for any
blueprints that can be used as a guidance for the work on the m68k
backend.

I have also created a guide on how to set up a QEMU virtual machine running
a fully fledged Debian/m68k which can be used for the development work [2].

>The transition isn't terribly hard, but does take time because of the
>number of patterns that have to be changed.

I have already looked at the conversion done on the V850 backend [3] but so far
I don't understand enough of the register representation stuff to be able
to know where to start. I'm seeing that all the "cc" attributes are being removed
but not replaced?

Adrian

> [1] https://www.bountysource.com/issues/80706251-m68k-convert-the-backend-to-mode_cc-so-it-can-be-kept-in-future-releases
> [2] https://wiki.debian.org/M68k/QemuSystemM68k
> [3] https://github.com/gcc-mirror/gcc/commit/d6c5e987e730b3b2b9ff396d2361518ff9cb5e23

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz@debian.org
`. `'   Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


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