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(-)