Mercurial > hg > CbC > CbC_gcc
comparison gcc/genemit.c @ 55:77e2b8dfacca gcc-4.4.5
update it from 4.4.3 to 4.5.0
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Feb 2010 23:39:51 +0900 |
parents | a06113de4d67 |
children | b7f97abdc517 |
comparison
equal
deleted
inserted
replaced
52:c156f1bd5cd9 | 55:77e2b8dfacca |
---|---|
1 /* Generate code from machine description to emit insns as rtl. | 1 /* Generate code from machine description to emit insns as rtl. |
2 Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001, | 2 Copyright (C) 1987, 1988, 1991, 1994, 1995, 1997, 1998, 1999, 2000, 2001, |
3 2003, 2004, 2005, 2007, 2008 Free Software Foundation, Inc. | 3 2003, 2004, 2005, 2007, 2008, 2009 Free Software Foundation, Inc. |
4 | 4 |
5 This file is part of GCC. | 5 This file is part of GCC. |
6 | 6 |
7 GCC is free software; you can redistribute it and/or modify it under | 7 GCC is free software; you can redistribute it and/or modify it under |
8 the terms of the GNU General Public License as published by the Free | 8 the terms of the GNU General Public License as published by the Free |
780 static void | 780 static void |
781 output_peephole2_scratches (rtx split) | 781 output_peephole2_scratches (rtx split) |
782 { | 782 { |
783 int i; | 783 int i; |
784 int insn_nr = 0; | 784 int insn_nr = 0; |
785 | 785 bool first = true; |
786 printf (" HARD_REG_SET _regs_allocated;\n"); | |
787 printf (" CLEAR_HARD_REG_SET (_regs_allocated);\n"); | |
788 | 786 |
789 for (i = 0; i < XVECLEN (split, 0); i++) | 787 for (i = 0; i < XVECLEN (split, 0); i++) |
790 { | 788 { |
791 rtx elt = XVECEXP (split, 0, i); | 789 rtx elt = XVECEXP (split, 0, i); |
792 if (GET_CODE (elt) == MATCH_SCRATCH) | 790 if (GET_CODE (elt) == MATCH_SCRATCH) |
800 if (XINT (XVECEXP (split, 0, j), 0) == XINT (elt, 0)) | 798 if (XINT (XVECEXP (split, 0, j), 0) == XINT (elt, 0)) |
801 last_insn_nr = cur_insn_nr; | 799 last_insn_nr = cur_insn_nr; |
802 } | 800 } |
803 else if (GET_CODE (XVECEXP (split, 0, j)) != MATCH_SCRATCH) | 801 else if (GET_CODE (XVECEXP (split, 0, j)) != MATCH_SCRATCH) |
804 cur_insn_nr++; | 802 cur_insn_nr++; |
803 | |
804 if (first) | |
805 { | |
806 printf (" HARD_REG_SET _regs_allocated;\n"); | |
807 printf (" CLEAR_HARD_REG_SET (_regs_allocated);\n"); | |
808 first = false; | |
809 } | |
805 | 810 |
806 printf (" if ((operands[%d] = peep2_find_free_register (%d, %d, \"%s\", %smode, &_regs_allocated)) == NULL_RTX)\n\ | 811 printf (" if ((operands[%d] = peep2_find_free_register (%d, %d, \"%s\", %smode, &_regs_allocated)) == NULL_RTX)\n\ |
807 return NULL;\n", | 812 return NULL;\n", |
808 XINT (elt, 0), | 813 XINT (elt, 0), |
809 insn_nr, last_insn_nr, | 814 insn_nr, last_insn_nr, |