int main (int argc, char **argv) { rtx desc; bool have_delay = false; bool have_sched = false; progname = "genattr-common"; if (!init_rtx_reader_args (argc, argv)) return (FATAL_EXIT_CODE); puts ("/* Generated automatically by the program `genattr-common'"); puts (" from the machine description file `md'. */\n"); puts ("#ifndef GCC_INSN_ATTR_COMMON_H"); puts ("#define GCC_INSN_ATTR_COMMON_H\n"); /* Read the machine description. */ while (1) { int line_no, insn_code_number; desc = read_md_rtx (&line_no, &insn_code_number); if (desc == NULL) break; if (GET_CODE (desc) == DEFINE_ATTR) gen_attr (desc); if (GET_CODE (desc) == DEFINE_DELAY) { if (!have_delay) { printf ("#define DELAY_SLOTS\n"); have_delay = true; } } else if (GET_CODE (desc) == DEFINE_INSN_RESERVATION) { if (!have_sched) { printf ("#define INSN_SCHEDULING\n"); have_sched = true; } } } puts ("\n#endif /* GCC_INSN_ATTR_COMMON_H */"); if (ferror (stdout) || fflush (stdout) || fclose (stdout)) return FATAL_EXIT_CODE; return SUCCESS_EXIT_CODE; }
int main (int argc, char **argv) { bool have_delay = false; bool have_sched = false; progname = "genattr-common"; if (!init_rtx_reader_args (argc, argv)) return (FATAL_EXIT_CODE); puts ("/* Generated automatically by the program `genattr-common'"); puts (" from the machine description file `md'. */\n"); puts ("#ifndef GCC_INSN_ATTR_COMMON_H"); puts ("#define GCC_INSN_ATTR_COMMON_H\n"); /* Read the machine description. */ md_rtx_info info; while (read_md_rtx (&info)) switch (GET_CODE (info.def)) { case DEFINE_ATTR: gen_attr (&info); break; case DEFINE_DELAY: have_delay = true; break; case DEFINE_INSN_RESERVATION: if (!have_sched) { printf ("#define INSN_SCHEDULING\n"); have_sched = true; } break; default: break; } printf ("#define DELAY_SLOTS %d\n", have_delay); puts ("\n#endif /* GCC_INSN_ATTR_COMMON_H */"); if (ferror (stdout) || fflush (stdout) || fclose (stdout)) return FATAL_EXIT_CODE; return SUCCESS_EXIT_CODE; }