-/* More 'friendly' abort that prints the line and file.
- config.h can #define abort fancy_abort if you like that sort of thing. */
+ for (i = 0; i < XVECLEN (split, 0); i++)
+ {
+ rtx elt = XVECEXP (split, 0, i);
+ if (GET_CODE (elt) == MATCH_SCRATCH)
+ {
+ int last_insn_nr = insn_nr;
+ int cur_insn_nr = insn_nr;
+ int j;
+ for (j = i + 1; j < XVECLEN (split, 0); j++)
+ if (GET_CODE (XVECEXP (split, 0, j)) == MATCH_DUP)
+ {
+ if (XINT (XVECEXP (split, 0, j), 0) == XINT (elt, 0))
+ last_insn_nr = cur_insn_nr;
+ }
+ else if (GET_CODE (XVECEXP (split, 0, j)) != MATCH_SCRATCH)
+ cur_insn_nr++;
+
+ if (first)
+ {
+ printf (" HARD_REG_SET _regs_allocated;\n");
+ printf (" CLEAR_HARD_REG_SET (_regs_allocated);\n");
+ first = false;
+ }