]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
VINSN_INSN_RTX scaffolding
authorDavid Malcolm <dmalcolm@redhat.com>
Tue, 19 Aug 2014 15:42:24 +0000 (15:42 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Tue, 19 Aug 2014 15:42:24 +0000 (15:42 +0000)
gcc/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

* sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx"
field will eventually be an rtx_insn *.  To help with transition,
for now, convert from an access macro into a pair of functions:
VINSN_INSN_RTX, returning an rtx_insn *, and...
(SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX
is used as an lvalue.

* sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with
SET_VINSN_INSN_RTX where it's used as an lvalue.
(VINSN_INSN_RTX): New function.
(SET_VINSN_INSN_RTX): New function.

/
2014-08-19  David Malcolm  <dmalcolm@redhat.com>

* rtx-classes-status.txt (TODO): Add SET_VINSN_INSN_RTX.

From-SVN: r214165

ChangeLog
gcc/ChangeLog
gcc/sel-sched-ir.c
gcc/sel-sched-ir.h
rtx-classes-status.txt

index 7da62f9dcdd085af8276ae1f3e95ed362de6e4d4..4a95e5ef8637fdc482c915a2a464016f34e73d33 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * rtx-classes-status.txt (TODO): Add SET_VINSN_INSN_RTX.
+
 2014-08-19  David Malcolm  <dmalcolm@redhat.com>
 
        * rtx-classes-status.txt (TODO): Add SET_DEP_PRO, SET_DEP_CON.
index 14b9a38e58d9d875d78f92a79f5f6e417c762e9e..5644066fad6cf2232f5429f7a1c869bbbce14fcc 100644 (file)
@@ -1,3 +1,17 @@
+2014-08-19  David Malcolm  <dmalcolm@redhat.com>
+
+       * sel-sched-ir.h (VINSN_INSN_RTX): struct vinsn_def's "insn_rtx"
+       field will eventually be an rtx_insn *.  To help with transition,
+       for now, convert from an access macro into a pair of functions:
+       VINSN_INSN_RTX, returning an rtx_insn *, and...
+       (SET_VINSN_INSN_RTX): New function, for use where VINSN_INSN_RTX
+       is used as an lvalue.
+
+       * sel-sched-ir.c (vinsn_init): Replace VINSN_INSN_RTX with
+       SET_VINSN_INSN_RTX where it's used as an lvalue.
+       (VINSN_INSN_RTX): New function.
+       (SET_VINSN_INSN_RTX): New function.
+
 2014-08-19  David Malcolm  <dmalcolm@redhat.com>
 
        * sched-int.h (DEP_PRO): struct _dep's "pro" and "con" fields will
index 062452067289c1575b13f7240460ff7a2a29b474..f5e0d5532643b65965ce33631f2b7636909d91ea 100644 (file)
@@ -1179,7 +1179,7 @@ vinsn_init (vinsn_t vi, insn_t insn, bool force_unique_p)
   hash_rtx_callback_function hrcf;
   int insn_class;
 
-  VINSN_INSN_RTX (vi) = insn;
+  SET_VINSN_INSN_RTX (vi) = insn;
   VINSN_COUNT (vi) = 0;
   vi->cost = -1;
 
@@ -6441,4 +6441,15 @@ sel_remove_loop_preheader (void)
     SET_LOOP_PREHEADER_BLOCKS (loop_outer (current_loop_nest),
                               preheader_blocks);
 }
+
+rtx_insn *VINSN_INSN_RTX (vinsn_t vi)
+{
+  return safe_as_a <rtx_insn *> (vi->insn_rtx);
+}
+
+rtx& SET_VINSN_INSN_RTX (vinsn_t vi)
+{
+  return vi->insn_rtx;
+}
+
 #endif
index f63d571158177f5f4cb10584a23b12376cdfb8d2..7aef287cf8587f07f33580dc1c4d28ab3f004521 100644 (file)
@@ -645,7 +645,8 @@ struct vinsn_def
   bool may_trap_p;
 };
 
-#define VINSN_INSN_RTX(VI) ((VI)->insn_rtx)
+extern rtx_insn *VINSN_INSN_RTX (vinsn_t);
+extern rtx& SET_VINSN_INSN_RTX (vinsn_t);
 #define VINSN_PATTERN(VI) (PATTERN (VINSN_INSN_RTX (VI)))
 
 #define VINSN_ID(VI) (&((VI)->id))
index b93ee593c8d098596089cdd36cc78e0387f3e0eb..f4bb9a053e4dd873dd26377968aee4dafa19deca 100644 (file)
@@ -18,3 +18,4 @@ TODO: "Scaffolding" to be removed
 * SET_BB_HEAD, SET_BB_END, SET_BB_HEADER, SET_BB_FOOTER
 * SET_DEP_PRO, SET_DEP_CON
 * SET_NEXT_INSN, SET_PREV_INSN
+* SET_VINSN_INSN_RTX