varasm.c: Use rtx_sequence
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 27 Aug 2014 20:28:31 +0000 (20:28 +0000)
committerDavid Malcolm <dmalcolm@gcc.gnu.org>
Wed, 27 Aug 2014 20:28:31 +0000 (20:28 +0000)
gcc/
2014-08-27  David Malcolm  <dmalcolm@redhat.com>

* varasm.c (mark_constants): Convert a GET_CODE check into a
dyn_cast, strengthening local "seq" from rtx to rtx_sequence *.
Use methods of rtx_sequence to clarify the code.

From-SVN: r214600

gcc/ChangeLog
gcc/varasm.c

index 52641234eb2b9c329778f4a5174e7ecfb70860c1..0aae07faee2f75b8cf00537695d30b27c370d201 100644 (file)
@@ -1,3 +1,9 @@
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * varasm.c (mark_constants): Convert a GET_CODE check into a
+       dyn_cast, strengthening local "seq" from rtx to rtx_sequence *.
+       Use methods of rtx_sequence to clarify the code.
+
 2014-08-27  David Malcolm  <dmalcolm@redhat.com>
 
        * sched-vis.c (print_pattern): Within SEQUENCE case, introduce a
index ce99a13817115fd056e0795fdceed065d59a2af1..f2d5a26e7b97eeca79e5d3433d4f7f8733b4a4c1 100644 (file)
@@ -3928,13 +3928,12 @@ mark_constants (rtx_insn *insn)
   /* Insns may appear inside a SEQUENCE.  Only check the patterns of
      insns, not any notes that may be attached.  We don't want to mark
      a constant just because it happens to appear in a REG_EQUIV note.  */
-  if (GET_CODE (PATTERN (insn)) == SEQUENCE)
+  if (rtx_sequence *seq = dyn_cast <rtx_sequence *> (PATTERN (insn)))
     {
-      rtx seq = PATTERN (insn);
-      int i, n = XVECLEN (seq, 0);
+      int i, n = seq->len ();
       for (i = 0; i < n; ++i)
        {
-         rtx subinsn = XVECEXP (seq, 0, i);
+         rtx subinsn = seq->element (i);
          if (INSN_P (subinsn))
            for_each_rtx (&PATTERN (subinsn), mark_constant, NULL);
        }