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 /gcc/gengenrtl.c | |
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
Diffstat (limited to 'gcc/gengenrtl.c')
-rw-r--r-- | gcc/gengenrtl.c | 94 |
1 files changed, 14 insertions, 80 deletions
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; |