From: Zack Weinberg Date: Wed, 22 Jan 2003 07:31:51 +0000 (+0000) Subject: genautomata.c (output_internal_insn_latency_func, [...]): Short circuit when there... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c24b80269b1b3a96831f4d4a24f96efd6d98de7c;p=gcc.git genautomata.c (output_internal_insn_latency_func, [...]): Short circuit when there is no automaton to generate code for. * genautomata.c (output_internal_insn_latency_func, output_print_reservation_func): Short circuit when there is no automaton to generate code for. From-SVN: r61588 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 171f03de1ec..923bd7b0a7c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-01-21 Zack Weinberg + + * genautomata.c (output_internal_insn_latency_func, + output_print_reservation_func): Short circuit when there is no + automaton to generate code for. + 2003-01-21 Kaveh R. Ghazi * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H). diff --git a/gcc/genautomata.c b/gcc/genautomata.c index 3fe4553d200..bb1a9d9a6c6 100644 --- a/gcc/genautomata.c +++ b/gcc/genautomata.c @@ -8920,12 +8920,19 @@ output_internal_insn_latency_func () INTERNAL_INSN_LATENCY_FUNC_NAME, INTERNAL_INSN_CODE_NAME, INTERNAL_INSN2_CODE_NAME, INSN_PARAMETER_NAME, INSN2_PARAMETER_NAME); - fprintf (output_file, "\n\tint %s;\n\tint %s;\n", + fprintf (output_file, + "\n\tint %s ATTRIBUTE_UNUSED;\n\tint %s ATTRIBUTE_UNUSED;\n", INTERNAL_INSN_CODE_NAME, INTERNAL_INSN2_CODE_NAME); fprintf (output_file, "\trtx %s ATTRIBUTE_UNUSED;\n\trtx %s ATTRIBUTE_UNUSED;\n{\n", INSN_PARAMETER_NAME, INSN2_PARAMETER_NAME); + if (DECL_INSN_RESERV (advance_cycle_insn_decl)->insn_num == 0) + { + fputs (" return 0;\n}\n\n", output_file); + return; + } + fprintf (output_file, " static const %s default_latencies[] =\n {", tabletype); @@ -9015,11 +9022,20 @@ output_print_reservation_func () decl_t decl; int i, j; - fprintf (output_file, "void\n%s (%s, %s)\n\tFILE *%s;\n\trtx %s;\n{\n", + fprintf (output_file, + "void\n%s (%s, %s)\n\tFILE *%s;\n\trtx %s ATTRIBUTE_UNUSED;\n{\n", PRINT_RESERVATION_FUNC_NAME, FILE_PARAMETER_NAME, INSN_PARAMETER_NAME, FILE_PARAMETER_NAME, INSN_PARAMETER_NAME); + if (DECL_INSN_RESERV (advance_cycle_insn_decl)->insn_num == 0) + { + fprintf (output_file, " fputs (\"%s\", %s);\n}\n\n", + NOTHING_NAME, FILE_PARAMETER_NAME); + return; + } + + fputs (" static const char *const reservation_names[] =\n {", output_file);