Lines Matching refs:pattern

156 queue_pattern (rtx pattern, struct queue_elem ***list_tail,
160 e->data = pattern;
539 collect_insn_data (rtx pattern, int *palt, int *pmax)
545 code = GET_CODE (pattern);
549 i = n_alternatives (XSTR (pattern, 2));
556 i = XINT (pattern, 0);
572 collect_insn_data (XEXP (pattern, i), palt, pmax);
576 if (XVEC (pattern, i) == NULL)
580 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
581 collect_insn_data (XVECEXP (pattern, i, j), palt, pmax);
594 alter_predicate_for_insn (rtx pattern, int alt, int max_op, int lineno)
600 code = GET_CODE (pattern);
605 const char *c = XSTR (pattern, 2);
611 XINT (pattern, 0));
630 XSTR (pattern, 2) = new_c;
638 XINT (pattern, 0) += max_op;
654 r = alter_predicate_for_insn (XEXP (pattern, i), alt,
661 for (j = XVECLEN (pattern, i) - 1; j >= 0; --j)
663 r = alter_predicate_for_insn (XVECEXP (pattern, i, j),
678 return pattern;
786 rtx pred, insn, pattern, split;
811 /* Construct a new pattern for the new insn. */
814 pattern = rtx_alloc (COND_EXEC);
815 XEXP (pattern, 0) = pred;
818 XEXP (pattern, 1) = XVECEXP (insn, 1, 0);
819 XVECEXP (insn, 1, 0) = pattern;
824 XEXP (pattern, 1) = rtx_alloc (PARALLEL);
825 XVEC (XEXP (pattern, 1), 0) = XVEC (insn, 1);
827 XVECEXP (insn, 1, 0) = pattern;
835 only used here, and we won't reprocess this new pattern. */
837 /* Put the new pattern on the `other' list so that it
857 /* Predicate the pattern matched by the split. */
858 pattern = rtx_alloc (COND_EXEC);
859 XEXP (pattern, 0) = pred;
862 XEXP (pattern, 1) = XVECEXP (split, 0, 0);
863 XVECEXP (split, 0, 0) = pattern;
868 XEXP (pattern, 1) = rtx_alloc (PARALLEL);
869 XVEC (XEXP (pattern, 1), 0) = XVEC (split, 0);
871 XVECEXP (split, 0, 0) = pattern;
876 pattern = rtx_alloc (COND_EXEC);
877 XEXP (pattern, 0) = pred;
878 XEXP (pattern, 1) = XVECEXP (split, 2, i);
879 XVECEXP (split, 2, i) = pattern;
1116 to use elided pattern numbers for anything. */