X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=driver%2Ffirm_opt.h;h=6b5f05fd08d606efadf387239c294e376f344486;hb=451c15e3a53e601d449512e71b1a9ab7960fa9ec;hp=56fdbe65379eec24c501055cc79bce99c013b80d;hpb=340fb9d9bc75026f3f0235c1f50746288a81a45e;p=cparser diff --git a/driver/firm_opt.h b/driver/firm_opt.h index 56fdbe6..6b5f05f 100644 --- a/driver/firm_opt.h +++ b/driver/firm_opt.h @@ -1,6 +1,7 @@ #ifndef FIRM_OPT_H #define FIRM_OPT_H +#include #include #include @@ -92,29 +93,29 @@ enum rts_names { extern ir_entity_ptr rts_entities[rts_max]; -/** Debug printf implementation. */ -extern void dbg_printf(const char *fmt, ...); - -/** Do the necessary lowering for compound parameters. */ -extern void lower_compound_params(void); - /** Initialize for the Firm-generating back end. */ void gen_firm_init(void); -void disable_all_opts(void); +/** free resources hold by firm-generating back end */ +void gen_firm_finish(void); -/** called, after the Firm generation is completed. */ -void gen_firm_finish(FILE *out, const char *input_filename, int firm_const_exists); +/** + * Transform, optimize and generate code + * + * @param out a file handle for the output, may be NULL + * @param input_filename the name of the (main) source file + */ +void generate_code(FILE *out, const char *input_filename); -void gen_Firm_assembler(const char *input_filename); +/** process optimization commandline option */ +int firm_option(const char *opt); -/** early initialization. */ -void firm_early_init(void); +typedef void (*print_option_help_func)(const char *name, const char *description); -/** process optimisation commandline option */ -int firm_opt_option(const char *opt); +void firm_option_help(print_option_help_func func); -/** print help about optimisations options */ -void firm_opt_option_help(void); +/** Choose an optimization level. (Typically used to interpret the -O compiler + * switches) */ +void choose_optimization_pack(int level); -#endif /* FIRM_OPT_H */ +#endif