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

* function.c (contains): Introduce local "seq" for PATTERN (insn),
with a checked cast, in the region for where we know it's a
SEQUENCE.  Use methods of rtx_sequence.

From-SVN: r214595

gcc/ChangeLog
gcc/function.c

index c8b68a2ce953178cd9026300fbbc5f934a05e4d9..8b33726443bc95a0844f2760cc4125ee69bad38a 100644 (file)
@@ -1,3 +1,9 @@
+2014-08-27  David Malcolm  <dmalcolm@redhat.com>
+
+       * function.c (contains): Introduce local "seq" for PATTERN (insn),
+       with a checked cast, in the region for where we know it's a
+       SEQUENCE.  Use methods of rtx_sequence.
+
 2014-08-27  David Malcolm  <dmalcolm@redhat.com>
 
        * final.c (get_attr_length_1): Replace GET_CODE check with a
index 25f1519a93e4d18147298d2aafae687beb8593fb..6023d69800a9c23b5593b7185fdccebd95c02085 100644 (file)
@@ -5335,9 +5335,10 @@ contains (const_rtx insn, htab_t hash)
 
   if (NONJUMP_INSN_P (insn) && GET_CODE (PATTERN (insn)) == SEQUENCE)
     {
+      rtx_sequence *seq = as_a <rtx_sequence *> (PATTERN (insn));
       int i;
-      for (i = XVECLEN (PATTERN (insn), 0) - 1; i >= 0; i--)
-       if (htab_find (hash, XVECEXP (PATTERN (insn), 0, i)))
+      for (i = seq->len () - 1; i >= 0; i--)
+       if (htab_find (hash, seq->element (i)))
          return true;
       return false;
     }