gegenrtl.c: Remove unnecesary prototypes.
* 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. From-SVN: r160108
This commit is contained in:
parent
558c51c59d
commit
6ac9d3a3c3
@ -1,3 +1,12 @@
|
||||
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.
|
||||
|
@ -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
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user