From 67a0732fb2228a8db59ee136a89206960fa2085a Mon Sep 17 00:00:00 2001
From: Steven Bosscher <steven@gcc.gnu.org>
Date: Fri, 29 Jun 2012 13:56:40 +0000
Subject: [PATCH] system.h (IFCVT_EXTRA_FIELDS): Poison.

	* system.h (IFCVT_EXTRA_FIELDS): Poison.
	(IFCVT_INIT_EXTRA_FIELDS): Poison.
	* basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS.
	* ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of
	IFCVT_INIT_EXTRA_FIELDS.
	* gengtype-parse.c (struct_field_seq): Remove obsolete comment.
	* config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
	IFCVT_MACHDEP_INIT.
	* config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
	frv_ifcvt_machdep_init.
	* doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS):
	Remove documentation.
	(IFCVT_MACHDEP_INIT): Document.
	* doc/tm.texi: Regenerate.

From-SVN: r189074
---
 gcc/ChangeLog        | 17 +++++++++++++++++
 gcc/basic-block.h    |  5 -----
 gcc/config/frv/frv.c |  7 +++----
 gcc/config/frv/frv.h |  4 ++--
 gcc/doc/tm.texi      | 13 ++++---------
 gcc/doc/tm.texi.in   | 13 ++++---------
 gcc/gengtype-parse.c |  3 ---
 gcc/ifcvt.c          |  4 ++--
 gcc/system.h         |  2 +-
 9 files changed, 33 insertions(+), 35 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 1e8796c4f805..82c968ca6f7e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,20 @@
+2012-06-29  Steven Bosscher  <steven@gcc.gnu.org>
+
+	* system.h (IFCVT_EXTRA_FIELDS): Poison.
+	(IFCVT_INIT_EXTRA_FIELDS): Poison.
+	* basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS.
+	* ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of
+	IFCVT_INIT_EXTRA_FIELDS.
+	* gengtype-parse.c (struct_field_seq): Remove obsolete comment.
+	* config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
+	IFCVT_MACHDEP_INIT.
+	* config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
+	frv_ifcvt_machdep_init.
+	* doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS):
+	Remove documentation.
+	(IFCVT_MACHDEP_INIT): Document.
+	* doc/tm.texi: Regenerate.
+
 2012-06-29  Nick Clifton  <nickc@redhat.com>
 
 	* config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index 418914a3718a..348f150ab6dc 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -498,11 +498,6 @@ typedef struct ce_if_block
   int num_then_insns;			/* # of insns in THEN block.  */
   int num_else_insns;			/* # of insns in ELSE block.  */
   int pass;				/* Pass number.  */
-
-#ifdef IFCVT_EXTRA_FIELDS
-  IFCVT_EXTRA_FIELDS			/* Any machine dependent fields.  */
-#endif
-
 } ce_if_block_t;
 
 /* This structure maintains an edge list vector.  */
diff --git a/gcc/config/frv/frv.c b/gcc/config/frv/frv.c
index 5e7b5d407fd9..a31cf8bd6a1c 100644
--- a/gcc/config/frv/frv.c
+++ b/gcc/config/frv/frv.c
@@ -5221,12 +5221,11 @@ frv_clear_registers_used (rtx *ptr, void *data)
 }
 
 
-/* Initialize the extra fields provided by IFCVT_EXTRA_FIELDS.  */
-
-/* On the FR-V, we don't have any extra fields per se, but it is useful hook to
+/* Initialize machine-specific if-conversion data.
+   On the FR-V, we don't have any extra fields per se, but it is useful hook to
    initialize the static storage.  */
 void
-frv_ifcvt_init_extra_fields (ce_if_block_t *ce_info ATTRIBUTE_UNUSED)
+frv_ifcvt_machdep_init (ce_if_block_t *ce_info ATTRIBUTE_UNUSED)
 {
   frv_ifcvt.added_insns_list = NULL_RTX;
   frv_ifcvt.cur_scratch_regs = 0;
diff --git a/gcc/config/frv/frv.h b/gcc/config/frv/frv.h
index 2f8fa92e75d6..b9fd3a90cf03 100644
--- a/gcc/config/frv/frv.h
+++ b/gcc/config/frv/frv.h
@@ -1975,8 +1975,8 @@ frv_ifcvt_modify_multiple_tests (CE_INFO, BB, &TRUE_EXPR, &FALSE_EXPR)
    information CE_INFO.  */
 #define IFCVT_MODIFY_CANCEL(CE_INFO) frv_ifcvt_modify_cancel (CE_INFO)
 
-/* Initialize the extra fields provided by IFCVT_EXTRA_FIELDS.  */
-#define IFCVT_INIT_EXTRA_FIELDS(CE_INFO) frv_ifcvt_init_extra_fields (CE_INFO)
+/* Initialize the machine-specific static data for if-conversion.  */
+#define IFCVT_MACHDEP_INIT(CE_INFO) frv_ifcvt_machdep_init (CE_INFO)
 
 /* The definition of the following macro results in that the 2nd jump
    optimization (after the 2nd insn scheduling) is minimal.  It is
diff --git a/gcc/doc/tm.texi b/gcc/doc/tm.texi
index 314d50b1a275..282bc14833de 100644
--- a/gcc/doc/tm.texi
+++ b/gcc/doc/tm.texi
@@ -10871,15 +10871,10 @@ can be found in the @code{struct ce_if_block} structure that is pointed
 to by @var{ce_info}.
 @end defmac
 
-@defmac IFCVT_INIT_EXTRA_FIELDS (@var{ce_info})
-A C expression to initialize any extra fields in a @code{struct ce_if_block}
-structure, which are defined by the @code{IFCVT_EXTRA_FIELDS} macro.
-@end defmac
-
-@defmac IFCVT_EXTRA_FIELDS
-If defined, it should expand to a set of field declarations that will be
-added to the @code{struct ce_if_block} structure.  These should be initialized
-by the @code{IFCVT_INIT_EXTRA_FIELDS} macro.
+@defmac IFCVT_MACHDEP_INIT (@var{ce_info})
+A C expression to initialize any machine specific data for if-conversion
+of the if-block in the @code{struct ce_if_block} structure that is pointed
+to by @var{ce_info}.
 @end defmac
 
 @deftypefn {Target Hook} void TARGET_MACHINE_DEPENDENT_REORG (void)
diff --git a/gcc/doc/tm.texi.in b/gcc/doc/tm.texi.in
index ac8df24ea8fb..6f97b2814788 100644
--- a/gcc/doc/tm.texi.in
+++ b/gcc/doc/tm.texi.in
@@ -10745,15 +10745,10 @@ can be found in the @code{struct ce_if_block} structure that is pointed
 to by @var{ce_info}.
 @end defmac
 
-@defmac IFCVT_INIT_EXTRA_FIELDS (@var{ce_info})
-A C expression to initialize any extra fields in a @code{struct ce_if_block}
-structure, which are defined by the @code{IFCVT_EXTRA_FIELDS} macro.
-@end defmac
-
-@defmac IFCVT_EXTRA_FIELDS
-If defined, it should expand to a set of field declarations that will be
-added to the @code{struct ce_if_block} structure.  These should be initialized
-by the @code{IFCVT_INIT_EXTRA_FIELDS} macro.
+@defmac IFCVT_MACHDEP_INIT (@var{ce_info})
+A C expression to initialize any machine specific data for if-conversion
+of the if-block in the @code{struct ce_if_block} structure that is pointed
+to by @var{ce_info}.
 @end defmac
 
 @hook TARGET_MACHINE_DEPENDENT_REORG
diff --git a/gcc/gengtype-parse.c b/gcc/gengtype-parse.c
index 89f14e84d960..c0ad403d163a 100644
--- a/gcc/gengtype-parse.c
+++ b/gcc/gengtype-parse.c
@@ -662,9 +662,6 @@ struct_field_seq (void)
   do
     {
       ty = type (&opts, true);
-      /* Another piece of the IFCVT_EXTRA_FIELDS special case, see type().  */
-      if (!ty && token () == '}')
-	break;
 
       if (!ty || token () == ':')
 	{
diff --git a/gcc/ifcvt.c b/gcc/ifcvt.c
index adeb214a5e40..c1d4c9eb1e17 100644
--- a/gcc/ifcvt.c
+++ b/gcc/ifcvt.c
@@ -3255,8 +3255,8 @@ find_if_header (basic_block test_bb, int pass)
   ce_info.else_bb = else_edge->dest;
   ce_info.pass = pass;
 
-#ifdef IFCVT_INIT_EXTRA_FIELDS
-  IFCVT_INIT_EXTRA_FIELDS (&ce_info);
+#ifdef IFCVT_MACHDEP_INIT
+  IFCVT_MACHDEP_INIT (&ce_info);
 #endif
 
   if (!reload_completed
diff --git a/gcc/system.h b/gcc/system.h
index f12ac9cf7da3..d2e9e51bc0e3 100644
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -895,7 +895,7 @@ extern void fancy_abort (const char *, int, const char *) ATTRIBUTE_NORETURN;
 	TARGET_ALIGN_ANON_BITFIELDS TARGET_NARROW_VOLATILE_BITFIELDS	   \
 	IDENT_ASM_OP UNALIGNED_SHORT_ASM_OP UNALIGNED_INT_ASM_OP	   \
 	UNALIGNED_LONG_ASM_OP UNALIGNED_DOUBLE_INT_ASM_OP		   \
-	USE_COMMON_FOR_ONE_ONLY
+	USE_COMMON_FOR_ONE_ONLY IFCVT_EXTRA_FIELDS IFCVT_INIT_EXTRA_FIELDS
 
 /* Hooks that are no longer used.  */
  #pragma GCC poison LANG_HOOKS_FUNCTION_MARK LANG_HOOKS_FUNCTION_FREE	\
-- 
GitLab