X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=driver%2Ffirm_opt.h;h=6b5f05fd08d606efadf387239c294e376f344486;hb=451c15e3a53e601d449512e71b1a9ab7960fa9ec;hp=97bbba581da640ddc395e125123dff904c7118a6;hpb=1454848db69806428750010614147147876cd828;p=cparser diff --git a/driver/firm_opt.h b/driver/firm_opt.h index 97bbba5..6b5f05f 100644 --- a/driver/firm_opt.h +++ b/driver/firm_opt.h @@ -93,26 +93,29 @@ enum rts_names { extern ir_entity_ptr rts_entities[rts_max]; -/** Debug printf implementation. */ -extern void dbg_printf(const char *fmt, ...); - /** 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); +/** + * 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