CC0 removal branch

Segher Boessenkool segher@kernel.crashing.org
Tue Dec 15 17:27:29 GMT 2020


Hi!

I have updated my CC0 removal branch I started in 2019:
  refs/users/segher/heads/cc0
(yes I know this needs some patch series work; this branch rebases).

I have tested it all on powerpc*, and sill test it with cross-compilers
to all Linux targets later today.  I already know one problem that will
run into: the h8300 port still uses cc0!  In peepholes, and also in
h8300.c (cc0_rtx).  All that is dead code I bet, but that still doesn't
compile if CC0 is removed ;-)

Another issue is md.texi: some of the examples are about patterns that
no longer exist.  Which isn't that bad, but some use CC0, so that is
confusing, and also less useful than possible, because things like
conditional branches are quite different in the MODE_CC world.

Any suggestions what to replace those with is welcome
  https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/doc/md.texi;h=ec6ec180b91fcf9f481b6754c044483787fd923c;hb=HEAD#l212
  https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/doc/md.texi;h=ec6ec180b91fcf9f481b6754c044483787fd923c;hb=HEAD#l11210

Any further testing of the branch is appreciated as well.  Other than
the aforementioned problems this is all ready for submission as soon as
GCC 12 stage 1 opens.


Segher


p.s. The diffstat:

 gcc/caller-save.c        |  13 +-
 gcc/cfgcleanup.c         |  36 +----
 gcc/cfgrtl.c             |  33 +---
 gcc/combine.c            | 264 ++++---------------------------
 gcc/compare-elim.c       |   4 +-
 gcc/conditions.h         |  49 ------
 gcc/config/sparc/sparc.c |   1 -
 gcc/cprop.c              |  21 +--
 gcc/cse.c                | 140 ++---------------
 gcc/cselib.c             |   2 -
 gcc/df-problems.c        |   6 +-
 gcc/df-scan.c            |   2 -
 gcc/doc/md.texi          |  18 +--
 gcc/doc/rtl.texi         | 152 +++---------------
 gcc/doc/tm.texi          |  90 +----------
 gcc/doc/tm.texi.in       |  88 +----------
 gcc/emit-rtl.c           |  56 +------
 gcc/final.c              | 399 +----------------------------------------------
 gcc/fwprop.c             |   2 +-
 gcc/gcse-common.c        |   1 -
 gcc/gcse.c               |  25 +--
 gcc/genattrtab.c         |   1 -
 gcc/genconfig.c          |  19 ---
 gcc/genemit.c            |   3 -
 gcc/genextract.c         |   1 -
 gcc/gengenrtl.c          |   1 -
 gcc/genrecog.c           |   6 +-
 gcc/haifa-sched.c        |   4 -
 gcc/ifcvt.c              |   1 -
 gcc/ira-costs.c          |   1 -
 gcc/ira.c                |  15 +-
 gcc/jump.c               |  53 +------
 gcc/loop-invariant.c     |   9 --
 gcc/lra-constraints.c    |  10 +-
 gcc/lra-eliminations.c   |   1 -
 gcc/optabs.c             |   7 -
 gcc/postreload-gcse.c    |   1 -
 gcc/postreload.c         |   4 -
 gcc/print-rtl.c          |   1 -
 gcc/read-rtl-function.c  |   1 -
 gcc/reg-notes.def        |  10 --
 gcc/reg-stack.c          |  11 +-
 gcc/reginfo.c            |   1 -
 gcc/regrename.c          |   1 -
 gcc/reload.c             |  48 +-----
 gcc/reload1.c            |   5 +-
 gcc/reorg.c              | 146 ++---------------
 gcc/resource.c           |  17 +-
 gcc/rtl.c                |   4 +-
 gcc/rtl.def              |   9 +-
 gcc/rtl.h                |   5 -
 gcc/rtlanal.c            |  48 +-----
 gcc/sched-deps.c         |  15 --
 gcc/sched-rgn.c          |   6 +-
 gcc/shrink-wrap.c        |   3 -
 gcc/simplify-rtx.c       |  20 +--
 gcc/system.h             |   3 +-
 gcc/target.def           |   2 +-
 gcc/valtrack.c           |   3 +-
 gcc/var-tracking.c       |   2 -
 60 files changed, 154 insertions(+), 1746 deletions(-)


More information about the Gcc mailing list