Index: gcc/gcc/genemit.c |
diff --git a/gcc/gcc/genemit.c b/gcc/gcc/genemit.c |
index d7cbd10b38e7e4289a754db6b9c5ba8104e94a23..7ac3c917067fefb8895f24142ff44847604880fb 100644 |
--- a/gcc/gcc/genemit.c |
+++ b/gcc/gcc/genemit.c |
@@ -1,6 +1,6 @@ |
/* Generate code from machine description to emit insns as rtl. |
Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001, |
- 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. |
+ 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. |
This file is part of GCC. |
@@ -782,9 +782,7 @@ output_peephole2_scratches (rtx split) |
{ |
int i; |
int insn_nr = 0; |
- |
- printf (" HARD_REG_SET _regs_allocated;\n"); |
- printf (" CLEAR_HARD_REG_SET (_regs_allocated);\n"); |
+ bool first = true; |
for (i = 0; i < XVECLEN (split, 0); i++) |
{ |
@@ -803,6 +801,13 @@ output_peephole2_scratches (rtx split) |
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; |
+ } |
+ |
printf (" if ((operands[%d] = peep2_find_free_register (%d, %d, \"%s\", %smode, &_regs_allocated)) == NULL_RTX)\n\ |
return NULL;\n", |
XINT (elt, 0), |