diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-01 14:21:57 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-06-01 14:21:57 +0000 |
commit | b676285997bbeed33c8e8bb83874292fdceaa92f (patch) | |
tree | 2844d8f43e24d1234d11fbc4555e187a55872127 | |
parent | 02d7807a3a5ca57171bbf5349cad2aecdc232e55 (diff) | |
download | gcc-b676285997bbeed33c8e8bb83874292fdceaa92f.tar.gz |
* gegenrtl.c: Remove unnecesary prototypes.
(gendecl): Remove.
(gendef): Produce static inline.
(gencode): Remove.
(main): Do not decode parameters; generate header only.
* Makefile.in (genrtl.c): Remove.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160108 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/Makefile.in | 13 | ||||
-rw-r--r-- | gcc/gengenrtl.c | 94 |
3 files changed, 25 insertions, 91 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ebf92c71fdd..c1317965b86 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,14 @@ 2010-06-01 Jan Hubicka <jh@suse.cz> + * gegenrtl.c: Remove unnecesary prototypes. + (gendecl): Remove. + (gendef): Produce static inline. + (gencode): Remove. + (main): Do not decode parameters; generate header only. + * Makefile.in (genrtl.c): Remove. + +2010-06-01 Jan Hubicka <jh@suse.cz> + * tree-switch-conversion.c (build_one_array): Make it readonly. 2010-06-01 Richard Guenther <rguenther@suse.de> diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 27e52b662a9..bbc4d2aed4d 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1211,7 +1211,6 @@ OBJS-common = \ function.o \ fwprop.o \ gcse.o \ - genrtl.o \ ggc-common.o \ gimple.o \ gimple-iterator.o \ @@ -1469,7 +1468,7 @@ MOSTLYCLEANFILES = insn-flags.h insn-config.h insn-codes.h \ insn-attr.h insn-attrtab.c insn-opinit.c insn-preds.c insn-constants.h \ tm-preds.h tm-constrs.h \ tree-check.h min-insn-modes.c insn-modes.c insn-modes.h \ - genrtl.c genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \ + genrtl.h gt-*.h gtype-*.h gtype-desc.c gtyp-input.list \ xgcc$(exeext) cpp$(exeext) cc1$(exeext) cc1*-dummy$(exeext) $(EXTRA_PASSES) \ $(EXTRA_PARTS) $(EXTRA_PROGRAMS) gcc-cross$(exeext) \ $(SPECS) collect2$(exeext) lto-wrapper$(exeext) \ @@ -3486,8 +3485,6 @@ s-mddeps: $(md_file) $(MD_INCLUDES) build/genmddeps$(build_exeext) $(STAMP) s-mddeps # Header dependencies for generated source files. -genrtl.o : genrtl.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(RTL_H)\ - $(GGC_H) $(OBSTACK_H) insn-attrtab.o : insn-attrtab.c $(CONFIG_H) $(SYSTEM_H) coretypes.h \ $(TM_H) $(RTL_H) $(REGS_H) output.h $(INSN_ATTR_H) \ insn-config.h $(TOPLEV_H) $(RECOG_H) $(TM_P_H) $(FLAGS_H) @@ -3597,16 +3594,10 @@ s-condmd: build/gencondmd$(build_exeext) # These files are generated by running the same generator more than # once with different options, so they have custom rules. The # stampfile idiom is the same. -genrtl.c: s-genrtl; @true genrtl.h: s-genrtl-h; @true -s-genrtl: build/gengenrtl$(build_exeext) - $(RUN_GEN) build/gengenrtl$(build_exeext) > tmp-genrtl.c - $(SHELL) $(srcdir)/../move-if-change tmp-genrtl.c genrtl.c - $(STAMP) s-genrtl - s-genrtl-h: build/gengenrtl$(build_exeext) - $(RUN_GEN) build/gengenrtl$(build_exeext) -h > tmp-genrtl.h + $(RUN_GEN) build/gengenrtl$(build_exeext) > tmp-genrtl.h $(SHELL) $(srcdir)/../move-if-change tmp-genrtl.h genrtl.h $(STAMP) s-genrtl-h diff --git a/gcc/gengenrtl.c b/gcc/gengenrtl.c index 149e54ba7d4..afc9709cd6e 100644 --- a/gcc/gengenrtl.c +++ b/gcc/gengenrtl.c @@ -41,19 +41,6 @@ static const struct rtx_definition defs[] = #define NUM_RTX_CODE ARRAY_SIZE(defs) static const char *formats[NUM_RTX_CODE]; - -static const char *type_from_format (int); -static const char *accessor_from_format (int); -static int special_format (const char *); -static int special_rtx (int); -static int excluded_rtx (int); -static void find_formats (void); -static void gendecl (const char *); -static void genmacro (int); -static void gendef (const char *); -static void genlegend (void); -static void genheader (void); -static void gencode (void); /* Decode a format letter into a C type string. */ @@ -178,44 +165,6 @@ find_formats (void) } } -/* Write the declarations for the routine to allocate RTL with FORMAT. */ - -static void -gendecl (const char *format) -{ - const char *p; - int i, pos; - - printf ("extern rtx gen_rtx_fmt_%s_stat\t (RTX_CODE, ", format); - printf ("enum machine_mode mode"); - - /* Write each parameter that is needed and start a new line when the line - would overflow. */ - for (p = format, i = 0, pos = 75; *p != 0; p++) - if (*p != '0') - { - int ourlen = strlen (type_from_format (*p)) + 6 + (i > 9); - - printf (","); - if (pos + ourlen > 76) - printf ("\n\t\t\t\t "), pos = 39; - - printf (" %sarg%d", type_from_format (*p), i++); - pos += ourlen; - } - printf (" MEM_STAT_DECL"); - - printf (");\n"); - printf ("#define gen_rtx_fmt_%s(c, m", format); - for (p = format, i = 0; *p != 0; p++) - if (*p != '0') - printf (", p%i",i++); - printf (")\\\n gen_rtx_fmt_%s_stat (c, m", format); - for (p = format, i = 0; *p != 0; p++) - if (*p != '0') - printf (", p%i",i++); - printf (" MEM_STAT_INFO)\n\n"); -} /* Generate macros to generate RTL of code IDX using the functions we write. */ @@ -262,7 +211,7 @@ gendef (const char *format) /* Start by writing the definition of the function name and the types of the arguments. */ - printf ("rtx\ngen_rtx_fmt_%s_stat (RTX_CODE code, enum machine_mode mode", format); + printf ("static inline rtx\ngen_rtx_fmt_%s_stat (RTX_CODE code, enum machine_mode mode", format); for (p = format, i = 0; *p != 0; p++) if (*p != '0') printf (",\n\t%sarg%d", type_from_format (*p), i++); @@ -284,6 +233,15 @@ gendef (const char *format) printf (" X0EXP (rt, %d) = NULL_RTX;\n", i); puts ("\n return rt;\n}\n"); + printf ("#define gen_rtx_fmt_%s(c, m", format); + for (p = format, i = 0; *p != 0; p++) + if (*p != '0') + printf (", p%i",i++); + printf (")\\\n gen_rtx_fmt_%s_stat (c, m", format); + for (p = format, i = 0; *p != 0; p++) + if (*p != '0') + printf (", p%i",i++); + printf (" MEM_STAT_INFO)\n\n"); } /* Generate the documentation header for files we write. */ @@ -307,7 +265,7 @@ genheader (void) puts ("#include \"statistics.h\"\n"); for (fmt = formats; *fmt; ++fmt) - gendecl (*fmt); + gendef (*fmt); putchar ('\n'); @@ -318,39 +276,15 @@ genheader (void) puts ("\n#endif /* GCC_GENRTL_H */"); } -/* Generate the text of the code file we write, genrtl.c. */ - -static void -gencode (void) -{ - const char **fmt; - - puts ("#include \"config.h\""); - puts ("#include \"system.h\""); - puts ("#include \"coretypes.h\""); - puts ("#include \"tm.h\""); - puts ("#include \"obstack.h\""); - puts ("#include \"rtl.h\""); - puts ("#include \"ggc.h\"\n"); - - for (fmt = formats; *fmt != 0; fmt++) - gendef (*fmt); -} - -/* This is the main program. We accept only one argument, "-h", which - says we are writing the genrtl.h file. Otherwise we are writing the - genrtl.c file. */ +/* This is the main program. */ int -main (int argc, char **argv) +main (void) { find_formats (); genlegend (); - if (argc == 2 && argv[1][0] == '-' && argv[1][1] == 'h') - genheader (); - else - gencode (); + genheader (); if (ferror (stdout) || fflush (stdout) || fclose (stdout)) return FATAL_EXIT_CODE; |