* gensupport.c (old_preds): Don't reference PREDICATE_CODES.
(old_special_pred_table): Don't reference
SPECIAL_MODE_PREDICATES.
* system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
* config/arc/arc.h: Don't mention PREDICATE_CODES.
* config/sh/predicates.h: Don't mention
SPECIAL_MODE_PREDICATES.
* doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
Remove.
From-SVN: r102215
+2005-07-20 Kazu Hirata <kazu@cs.umass.edu>
+
+ * gensupport.c (old_preds): Don't reference PREDICATE_CODES.
+ (old_special_pred_table): Don't reference
+ SPECIAL_MODE_PREDICATES.
+ * system.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES): Poison.
+ * config/arc/arc.h: Don't mention PREDICATE_CODES.
+ * config/sh/predicates.h: Don't mention
+ SPECIAL_MODE_PREDICATES.
+ * doc/tm.texi (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
+ Remove.
+
2005-07-20 DJ Delorie <dj@redhat.com>
* config.gcc: Add m32c-elf support.
/* Things to do:
- - PREDICATE_CODES
- incscc, decscc?
- print active compiler options in assembler output
*/
return 0;
})
-;; Like arith_reg_dest, but this predicate belongs to
-;; SPECIAL_MODE_PREDICATES.
+;; Like arith_reg_dest, but this predicate is defined with
+;; define_special_predicate, not define_predicate.
(define_special_predicate "any_arith_reg_dest"
(match_code "subreg,reg")
return arith_reg_dest (op, mode);
})
-;; Like register_operand, but this predicate belongs to
-;; SPECIAL_MODE_PREDICATES.
+;; Like register_operand, but this predicate is defined with
+;; define_special_predicate, not define_predicate.
(define_special_predicate "any_register_operand"
(match_code "subreg,reg")
@c prevent bad page break with this line
Here are several miscellaneous parameters.
-@defmac PREDICATE_CODES
-Define this if you have defined special-purpose predicates in the file
-@file{@var{machine}.c}. This macro is called within an initializer of an
-array of structures. The first field in the structure is the name of a
-predicate and the second field is an array of rtl codes. For each
-predicate, list all rtl codes that can be in expressions matched by the
-predicate. The list should have a trailing comma. Here is an example
-of two entries in the list for a typical RISC machine:
-
-@smallexample
-#define PREDICATE_CODES \
- @{"gen_reg_rtx_operand", @{SUBREG, REG@}@}, \
- @{"reg_or_short_cint_operand", @{SUBREG, REG, CONST_INT@}@},
-@end smallexample
-
-Defining this macro does not affect the generated code (however,
-incorrect definitions that omit an rtl code that may be matched by the
-predicate can cause the compiler to malfunction). Instead, it allows
-the table built by @file{genrecog} to be more compact and efficient,
-thus speeding up the compiler. The most important predicates to include
-in the list specified by this macro are those used in the most insn
-patterns.
-
-For each predicate function named in @code{PREDICATE_CODES}, a
-declaration will be generated in @file{insn-codes.h}.
-
-Use of this macro is deprecated; use @code{define_predicate} instead.
-@xref{Defining Predicates}.
-@end defmac
-
-@defmac SPECIAL_MODE_PREDICATES
-Define this if you have special predicates that know special things
-about modes. Genrecog will warn about certain forms of
-@code{match_operand} without a mode; if the operand predicate is
-listed in @code{SPECIAL_MODE_PREDICATES}, the warning will be
-suppressed.
-
-Here is an example from the IA-32 port (@code{ext_register_operand}
-specially checks for @code{HImode} or @code{SImode} in preparation
-for a byte extraction from @code{%ah} etc.).
-
-@smallexample
-#define SPECIAL_MODE_PREDICATES \
- "ext_register_operand",
-@end smallexample
-
-Use of this macro is deprecated; use @code{define_special_predicate}
-instead. @xref{Defining Predicates}.
-@end defmac
-
@defmac HAS_LONG_COND_BRANCH
Define this boolean macro to indicate whether or not your architecture
has conditional branches that can span all of memory. It is used in
}
/* This array gives the initial content of the predicate table. It
- has entries for all predicates defined in recog.c. The back end
- can define PREDICATE_CODES to give additional entries for the
- table; this is considered an obsolete mechanism (use
- define_predicate instead). */
+ has entries for all predicates defined in recog.c. */
struct old_pred_table
{
{"indirect_operand", {SUBREG, MEM}},
{"comparison_operator", {EQ, NE, LE, LT, GE, GT, LEU, LTU, GEU, GTU,
UNORDERED, ORDERED, UNEQ, UNGE, UNGT, UNLE,
- UNLT, LTGT}},
-#ifdef PREDICATE_CODES
- PREDICATE_CODES
-#endif
+ UNLT, LTGT}}
};
#define NUM_KNOWN_OLD_PREDS ARRAY_SIZE (old_preds)
-/* This table gives the initial set of special predicates. It has
- entries for all special predicates defined in recog.c. The back
- end can define SPECIAL_MODE_PREDICATES to give additional entries
- for the table; this is considered an obsolete mechanism (use
- define_special_predicate instead). */
+/* This table gives the set of special predicates. It has entries for
+ all special predicates defined in recog.c. */
static const char *const old_special_pred_table[] = {
"address_operand",
"pmode_register_operand",
-#ifdef SPECIAL_MODE_PREDICATES
- SPECIAL_MODE_PREDICATES
-#endif
};
#define NUM_OLD_SPECIAL_MODE_PREDS ARRAY_SIZE (old_special_pred_table)
/* Initialize the table of predicate definitions, starting with
- the information we have on generic predicates, and the old-style
- PREDICATE_CODES definitions. */
+ the information we have on generic predicates. */
static void
init_predicate_table (void)
CASE_DROPS_THROUGH TARGET_BELL TARGET_BS TARGET_CR TARGET_DIGIT0 \
TARGET_ESC TARGET_FF TARGET_NEWLINE TARGET_TAB TARGET_VT \
LINK_LIBGCC_SPECIAL DONT_ACCESS_GBLS_AFTER_EPILOGUE \
- TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES FINALIZE_PIC
+ TARGET_OPTIONS TARGET_SWITCHES EXTRA_CC_MODES FINALIZE_PIC \
+ PREDICATE_CODES SPECIAL_MODE_PREDICATES
/* Hooks that are no longer used. */
#pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE \