-void
-fatal VPROTO ((const char *format, ...))
-{
-#ifndef ANSI_PROTOTYPES
- const char *format;
-#endif
- va_list ap;
-
- VA_START (ap, format);
-
-#ifndef ANSI_PROTOTYPES
- format = va_arg (ap, const char *);
-#endif
-
- fprintf (stderr, "genconfig: ");
- vfprintf (stderr, format, ap);
- va_end (ap);
- fprintf (stderr, "\n");
- exit (FATAL_EXIT_CODE);
+ /* Look through the patterns that are matched
+ to compute the maximum operand number. */
+ for (i = XVECLEN (peep, 0) - 1; i >= 0; --i)
+ walk_insn_part (XVECEXP (peep, 0, i), 1, 0);
+
+ /* Look at the number of insns this insn can be matched from. */
+ for (i = XVECLEN (peep, 0) - 1, n = 0; i >= 0; --i)
+ if (GET_CODE (XVECEXP (peep, 0, i)) != MATCH_DUP
+ && GET_CODE (XVECEXP (peep, 0, i)) != MATCH_SCRATCH)
+ n++;
+ if (n > max_insns_per_peep2)
+ max_insns_per_peep2 = n;