On Mon, May 03, 2021 at 10:55:36PM +0000, Segher Boessenkool wrote: > This removes CC0 and all directly related infrastructure. > > CC_STATUS, CC_STATUS_MDEP, CC_STATUS_MDEP_INIT, and NOTICE_UPDATE_CC > are deleted and poisoned. CC0 is only deleted (some targets use that > name for something else). HAVE_cc0 is automatically generated, and we > no longer will do that after this patch. > > CC_STATUS_INIT is suggested in final.c to also be useful for ports that > are not CC0, and at least arm seems to use it for something. So I am > leaving that alone, but most targets that have it could remove it. > > Is this okay for trunk? > > > Segher > > > 2021-05-03 Segher Boessenkool <seg...@kernel.crashing.org> > > * caller-save.c: Remove CC0. > * cfgcleanup.c: Remove CC0. > * cfgrtl.c: Remove CC0. > * combine.c: Remove CC0. > * compare-elim.c: Remove CC0. > * conditions.h: Remove CC0. > * config/h8300/h8300.h: Remove CC0. > * config/h8300/peepholes.md: Remove CC0. > * config/i386/x86-tune-sched.c: Remove CC0. > * config/m68k/m68k.c: Remove CC0. > * config/rl78/rl78.c: Remove CC0. > * config/sparc/sparc.c: Remove CC0. > * config/xtensa/xtensa.c: Remove CC0. > (gen_conditional_move): Use pc_rtx instead of cc0_rtx in a piece of > RTL where that is used as a placeholder only. > * cprop.c: Remove CC0. > * cse.c: Remove CC0. > * cselib.c: Remove CC0. > * df-problems.c: Remove CC0. > * df-scan.c: Remove CC0. > * doc/md.texi: Remove CC0. Adjust an example. > * doc/rtl.texi: Remove CC0. Adjust an example. > * doc/tm.texi: Regenerate. > * doc/tm.texi.in: Remove CC0. > * emit-rtl.c: Remove CC0. > * final.c: Remove CC0. > * fwprop.c: Remove CC0. > * gcse-common.c: Remove CC0. > * gcse.c: Remove CC0. > * genattrtab.c: Remove CC0. > * genconfig.c: Remove CC0. > * genemit.c: Remove CC0. > * genextract.c: Remove CC0. > * gengenrtl.c: Remove CC0. > * genrecog.c: Remove CC0. > * haifa-sched.c: Remove CC0. > * ifcvt.c: Remove CC0. > * ira-costs.c: Remove CC0. > * ira.c: Remove CC0. > * jump.c: Remove CC0. > * loop-invariant.c: Remove CC0. > * lra-constraints.c: Remove CC0. > * lra-eliminations.c: Remove CC0. > * optabs.c: Remove CC0. > * postreload-gcse.c: Remove CC0. > * postreload.c: Remove CC0. > * print-rtl.c: Remove CC0. > * read-rtl-function.c: Remove CC0. > * reg-notes.def: Remove CC0. > * reg-stack.c: Remove CC0. > * reginfo.c: Remove CC0. > * regrename.c: Remove CC0. > * reload.c: Remove CC0. > * reload1.c: Remove CC0. > * reorg.c: Remove CC0. > * resource.c: Remove CC0. > * rtl.c: Remove CC0. > * rtl.def: Remove CC0. > * rtl.h: Remove CC0. > * rtlanal.c: Remove CC0. > * sched-deps.c: Remove CC0. > * sched-rgn.c: Remove CC0. > * shrink-wrap.c: Remove CC0. > * simplify-rtx.c: Remove CC0. > * system.h: Remove CC0. Poison NOTICE_UPDATE_CC, CC_STATUS_MDEP_INIT, > CC_STATUS_MDEP, and CC_STATUS. > * target.def: Remove CC0. > * valtrack.c: Remove CC0. > * var-tracking.c: Remove CC0. >
You missed: config/cr16/cr16.md: (clobber (cc0))] config/cr16/cr16.md: [(parallel [(set (cc0) config/cr16/cr16.md: [(set (cc0) config/cr16/cr16.md: [(cc0) (const_int 0)]))] config/cr16/cr16.md: [(set (cc0) config/cr16/cr16.md: [(cc0) (const_int 0)]))] Now, cr16-elf won't build. H.J.