summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog10
-rw-r--r--gcc/conditions.h6
-rw-r--r--gcc/emit-rtl.c2
-rw-r--r--gcc/final.c2
-rw-r--r--gcc/jump.c3
-rw-r--r--gcc/recog.c2
-rw-r--r--gcc/recog.h2
-rw-r--r--gcc/sched-deps.c5
8 files changed, 13 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b9a1b8d01a1..4448d317eba 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,15 @@
2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+ * conditions.h: Define macros even if HAVE_cc0 is undefined.
+ * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
+ * final.c: Likewise.
+ * jump.c: Likewise.
+ * recog.c: Likewise.
+ * recog.h: Declare functions even when HAVE_cc0 is undefined.
+ * sched-deps.c (sched_analyze_2): Always compile case for cc0.
+
+2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
+
* defaults.h: New definition of EH_RETURN_DATA_REGNO.
* except.c: Remove definition of EH_RETURN_DATA_REGNO.
* builtins.c (expand_builtin): Remove check if
diff --git a/gcc/conditions.h b/gcc/conditions.h
index 2308bfc5347..7cd1e1c1cad 100644
--- a/gcc/conditions.h
+++ b/gcc/conditions.h
@@ -20,10 +20,6 @@ along with GCC; see the file COPYING3. If not see
#ifndef GCC_CONDITIONS_H
#define GCC_CONDITIONS_H
-/* None of the things in the files exist if we don't use CC0. */
-
-#ifdef HAVE_cc0
-
/* 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.
@@ -117,6 +113,4 @@ extern CC_STATUS cc_status;
(cc_status.flags = 0, cc_status.value1 = 0, cc_status.value2 = 0, \
CC_STATUS_MDEP_INIT)
-#endif
-
#endif /* GCC_CONDITIONS_H */
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index b8dc7d50e7e..35ecc0529cc 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3539,7 +3539,6 @@ prev_active_insn (rtx uncast_insn)
return insn;
}
-#ifdef HAVE_cc0
/* Return the next insn that uses CC0 after INSN, which is assumed to
set it. This is the inverse of prev_cc0_setter (i.e., prev_cc0_setter
applied to the result of this function should yield INSN).
@@ -3587,7 +3586,6 @@ prev_cc0_setter (rtx uncast_insn)
return insn;
}
-#endif
#ifdef AUTO_INC_DEC
/* Find a RTX_AUTOINC class rtx which matches DATA. */
diff --git a/gcc/final.c b/gcc/final.c
index 1fa93d9036d..41f6bd9fe04 100644
--- a/gcc/final.c
+++ b/gcc/final.c
@@ -191,7 +191,6 @@ static rtx last_ignored_compare = 0;
static int insn_counter = 0;
-#ifdef HAVE_cc0
/* This variable contains machine-dependent flags (defined in tm.h)
set and examined by output routines
that describe how to interpret the condition codes properly. */
@@ -202,7 +201,6 @@ CC_STATUS cc_status;
from before the insn. */
CC_STATUS cc_prev_status;
-#endif
/* Number of unmatched NOTE_INSN_BLOCK_BEG notes we have seen. */
diff --git a/gcc/jump.c b/gcc/jump.c
index 34b3b7b8932..bc91550b510 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -1044,8 +1044,6 @@ jump_to_label_p (const rtx_insn *insn)
&& JUMP_LABEL (insn) != NULL && !ANY_RETURN_P (JUMP_LABEL (insn)));
}
-#ifdef HAVE_cc0
-
/* Return nonzero if X is an RTX that only sets the condition codes
and has no side effects. */
@@ -1094,7 +1092,6 @@ sets_cc0_p (const_rtx x)
}
return 0;
}
-#endif
/* Find all CODE_LABELs referred to in X, and increment their use
counts. If INSN is a JUMP_INSN and there is at least one
diff --git a/gcc/recog.c b/gcc/recog.c
index a9d3b1f779b..c3ad86f7448 100644
--- a/gcc/recog.c
+++ b/gcc/recog.c
@@ -971,7 +971,6 @@ validate_simplify_insn (rtx insn)
return ((num_changes_pending () > 0) && (apply_change_group () > 0));
}
-#ifdef HAVE_cc0
/* Return 1 if the insn using CC0 set by INSN does not contain
any ordered tests applied to the condition codes.
EQ and NE tests do not count. */
@@ -988,7 +987,6 @@ next_insn_tests_no_inequality (rtx insn)
return (INSN_P (next)
&& ! inequality_comparisons_p (PATTERN (next)));
}
-#endif
/* Return 1 if OP is a valid general operand for machine mode MODE.
This is either a register reference, a memory reference,
diff --git a/gcc/recog.h b/gcc/recog.h
index 45ea671963d..8a38b269c47 100644
--- a/gcc/recog.h
+++ b/gcc/recog.h
@@ -112,9 +112,7 @@ extern void validate_replace_rtx_group (rtx, rtx, rtx);
extern void validate_replace_src_group (rtx, rtx, rtx);
extern bool validate_simplify_insn (rtx insn);
extern int num_changes_pending (void);
-#ifdef HAVE_cc0
extern int next_insn_tests_no_inequality (rtx);
-#endif
extern bool reg_fits_class_p (const_rtx, reg_class_t, int, machine_mode);
extern int offsettable_memref_p (rtx);
diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c
index 5434831d3df..6fd6774c45f 100644
--- a/gcc/sched-deps.c
+++ b/gcc/sched-deps.c
@@ -2608,8 +2608,10 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx_insn *insn)
return;
-#ifdef HAVE_cc0
case CC0:
+#ifndef HAVE_cc0
+ gcc_unreachable ();
+#endif
/* User of CC0 depends on immediately preceding insn. */
SCHED_GROUP_P (insn) = 1;
/* Don't move CC0 setter to another block (it can set up the
@@ -2620,7 +2622,6 @@ sched_analyze_2 (struct deps_desc *deps, rtx x, rtx_insn *insn)
sched_deps_info->finish_rhs ();
return;
-#endif
case REG:
{