aboutsummaryrefslogtreecommitdiff
path: root/gcc/conditions.h
diff options
context:
space:
mode:
authorSegher Boessenkool <segher@kernel.crashing.org>2021-04-23 19:59:00 +0000
committerSegher Boessenkool <segher@kernel.crashing.org>2021-05-04 13:53:50 +0000
commitbd1cd0d0e0fecc6ac8632c266591767392480746 (patch)
tree8159e6c3badfa65e1d4462c94ac7285a572ba6ee /gcc/conditions.h
parent7a3897661151cf8cc77d11f7a98fc64259210748 (diff)
downloadgcc-bd1cd0d0e0fecc6ac8632c266591767392480746.zip
gcc-bd1cd0d0e0fecc6ac8632c266591767392480746.tar.gz
gcc-bd1cd0d0e0fecc6ac8632c266591767392480746.tar.bz2
Remove CC0
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. 2021-05-04 Segher Boessenkool <segher@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/h8300-protos.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.
Diffstat (limited to 'gcc/conditions.h')
-rw-r--r--gcc/conditions.h49
1 files changed, 0 insertions, 49 deletions
diff --git a/gcc/conditions.h b/gcc/conditions.h
index a4d17ca..d9ca51a 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -20,46 +20,6 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_CONDITIONS_H
#define GCC_CONDITIONS_H
-/* The variable cc_status says how to interpret the condition code.
- It is set by output routines for an instruction that sets the cc's
- and examined by output routines for jump instructions.
-
- cc_status contains two components named `value1' and `value2'
- that record two equivalent expressions for the values that the
- condition codes were set from. (Either or both may be null if
- there is no useful expression to record.) These fields are
- used for eliminating redundant test and compare instructions
- in the cases where the condition codes were already set by the
- previous instruction.
-
- cc_status.flags contains flags which say that the condition codes
- were set in a nonstandard manner. The output of jump instructions
- uses these flags to compensate and produce the standard result
- with the nonstandard condition codes. Standard flags are defined here.
- The tm.h file can also define other machine-dependent flags.
-
- cc_status also contains a machine-dependent component `mdep'
- whose type, `CC_STATUS_MDEP', may be defined as a macro in the
- tm.h file. */
-
-#ifndef CC_STATUS_MDEP
-#define CC_STATUS_MDEP int
-#endif
-
-#ifndef CC_STATUS_MDEP_INIT
-#define CC_STATUS_MDEP_INIT 0
-#endif
-
-struct CC_STATUS {int flags; rtx value1, value2; CC_STATUS_MDEP mdep;};
-
-/* While outputting an insn as assembler code,
- this is the status BEFORE that insn. */
-extern CC_STATUS cc_prev_status;
-
-/* While outputting an insn as assembler code,
- this is being altered to the status AFTER that insn. */
-extern CC_STATUS cc_status;
-
/* These are the machine-independent flags: */
/* Set if the sign of the cc value is inverted:
@@ -106,13 +66,4 @@ extern CC_STATUS cc_status;
This is only used by machine description files. */
#define CC_NOT_SIGNED 0200
-/* This is how to initialize the variable cc_status.
- final does this at appropriate moments. */
-
-/* FIXME: We want to get rid of these ifndefs. */
-#ifndef CC_STATUS_INIT
-#define CC_STATUS_INIT \
- (cc_status.flags = 0, cc_status.value1 = 0, cc_status.value2 = 0, \
- CC_STATUS_MDEP_INIT)
-#endif
#endif /* GCC_CONDITIONS_H */