Mercurial > hg > CbC > CbC_gcc
comparison gcc/genemit.c @ 63:b7f97abdc517 gcc-4.6-20100522
update gcc from gcc-4.5.0 to gcc-4.6
author | ryoma <e075725@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 24 May 2010 12:47:05 +0900 |
parents | 77e2b8dfacca |
children | f6334be47118 |
comparison
equal
deleted
inserted
replaced
56:3c8a44c06a95 | 63:b7f97abdc517 |
---|---|
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, 2009 Free Software Foundation, Inc. | 3 2003, 2004, 2005, 2007, 2008, 2009, 2010 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 |
518 | 518 |
519 /* Output code to copy the arguments back out of `operands' | 519 /* Output code to copy the arguments back out of `operands' |
520 (unless we aren't going to use them at all). */ | 520 (unless we aren't going to use them at all). */ |
521 if (XVEC (expand, 1) != 0) | 521 if (XVEC (expand, 1) != 0) |
522 { | 522 { |
523 for (i = 0; i < operands; i++) | 523 for (i = 0; |
524 printf (" operand%d = operands[%d];\n", i, i); | 524 i < MAX (operands, MAX (max_scratch_opno, max_dup_opno) + 1); |
525 for (; i <= max_dup_opno; i++) | 525 i++) |
526 printf (" operand%d = operands[%d];\n", i, i); | 526 { |
527 for (; i <= max_scratch_opno; i++) | 527 printf (" operand%d = operands[%d];\n", i, i); |
528 printf (" operand%d = operands[%d];\n", i, i); | 528 printf (" (void) operand%d;\n", i); |
529 } | |
529 } | 530 } |
530 printf (" }\n"); | 531 printf (" }\n"); |
531 } | 532 } |
532 | 533 |
533 /* Output code to construct the rtl for the instruction bodies. | 534 /* Output code to construct the rtl for the instruction bodies. |
645 printf ("%s\n", XSTR (split, 3)); | 646 printf ("%s\n", XSTR (split, 3)); |
646 } | 647 } |
647 | 648 |
648 /* Output code to copy the arguments back out of `operands' */ | 649 /* Output code to copy the arguments back out of `operands' */ |
649 for (i = 0; i < operands; i++) | 650 for (i = 0; i < operands; i++) |
650 printf (" operand%d = operands[%d];\n", i, i); | 651 { |
652 printf (" operand%d = operands[%d];\n", i, i); | |
653 printf (" (void) operand%d;\n", i); | |
654 } | |
651 | 655 |
652 /* Output code to construct the rtl for the instruction bodies. | 656 /* Output code to construct the rtl for the instruction bodies. |
653 Use emit_insn to add them to the sequence being accumulated. | 657 Use emit_insn to add them to the sequence being accumulated. |
654 But don't do this if the user's code has set `no_more' nonzero. */ | 658 But don't do this if the user's code has set `no_more' nonzero. */ |
655 | 659 |
847 printf ("#include \"rtl.h\"\n"); | 851 printf ("#include \"rtl.h\"\n"); |
848 printf ("#include \"tm_p.h\"\n"); | 852 printf ("#include \"tm_p.h\"\n"); |
849 printf ("#include \"function.h\"\n"); | 853 printf ("#include \"function.h\"\n"); |
850 printf ("#include \"expr.h\"\n"); | 854 printf ("#include \"expr.h\"\n"); |
851 printf ("#include \"optabs.h\"\n"); | 855 printf ("#include \"optabs.h\"\n"); |
852 printf ("#include \"real.h\"\n"); | |
853 printf ("#include \"dfp.h\"\n"); | 856 printf ("#include \"dfp.h\"\n"); |
854 printf ("#include \"flags.h\"\n"); | 857 printf ("#include \"flags.h\"\n"); |
855 printf ("#include \"output.h\"\n"); | 858 printf ("#include \"output.h\"\n"); |
856 printf ("#include \"insn-config.h\"\n"); | 859 printf ("#include \"insn-config.h\"\n"); |
857 printf ("#include \"hard-reg-set.h\"\n"); | 860 printf ("#include \"hard-reg-set.h\"\n"); |