X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=driver%2Ffirm_cmdline.c;h=d7e7075a421584229ee89d77cc9f29e6db0e8f7b;hb=933d8f9cae81483d28815576997bf10d94a54311;hp=ccc57669a3ed5724b5fec97913b759bebca146b8;hpb=1d51f4713f89ec9250425dabd347d452e431dd52;p=cparser diff --git a/driver/firm_cmdline.c b/driver/firm_cmdline.c index ccc5766..d7e7075 100644 --- a/driver/firm_cmdline.c +++ b/driver/firm_cmdline.c @@ -13,21 +13,12 @@ #include #include -#if defined(_WIN32) || defined(__CYGWIN__) -#define DEFAULT_OS OS_SUPPORT_MINGW -#elif defined(__APPLE__) -#define DEFAULT_OS OS_SUPPORT_MACHO -#else -#define DEFAULT_OS OS_SUPPORT_LINUX -#endif - /* optimization settings */ struct a_firm_opt firm_opt = { /* enabled = */ TRUE, /* debug_mode = */ DBG_MODE_NONE, /* const_folding = */ TRUE, /* cse = */ TRUE, - /* control_flow = */ TRUE, /* gcse = */ TRUE, /* confirm = */ TRUE, /* muls = */ TRUE, @@ -37,22 +28,19 @@ struct a_firm_opt firm_opt = { /* strict_alias = */ FALSE, /* no_alias = */ FALSE, /* cc_opt = */ TRUE, - /* freestanding; = */ FALSE, /* fp_model = */ fp_model_precise, - /* vrfy = */ FIRM_VERIFICATION_ON, + /* verify = */ FIRM_VERIFICATION_ON, /* check_all = */ FALSE, /* lower = */ TRUE, - /* os_support = */ DEFAULT_OS, /* honor_restrict = */ TRUE, /* lower_bitfields = */ TRUE, /* pic = */ FALSE, /* clone_threshold = */ DEFAULT_CLONE_THRESHOLD, /* inline_maxsize = */ 750, /* inline_threshold= */ 0, - /* vrfy_edges = */ FALSE, + /* verify_edges = */ FALSE, /* grs_simd_opt = */ 0, /* grs_create_pattern = */ 0, - /* spare_size = */ 128, /* enable_statev = */ FALSE, /* statev_filter = */ "", }; @@ -65,7 +53,6 @@ struct a_firm_dump firm_dump = { /* extbb = */ FALSE, /* ir_graph = */ FALSE, /* all_phases = */ FALSE, - /* edge_labels = */ FALSE, /* statistic = */ STAT_NONE, /* stat_pattern = */ 0, /* stat_dag = */ 0, @@ -106,8 +93,6 @@ static const struct params { { X("no-cse"), &firm_opt.cse, 0, "firm: disable common subexpression elimination" }, { X("const-fold"), &firm_opt.const_folding, 1, "firm: enable constant folding" }, { X("no-const-fold"), &firm_opt.const_folding, 0, "firm: disable constant folding" }, - { X("control_flow"), &firm_opt.control_flow, 1, "firm: enable control flow optimization" }, - { X("no-control-flow"), &firm_opt.control_flow, 0, "firm: disable control flow optimization" }, { X("gcse"), &firm_opt.gcse, 1, "firm: enable global common subexpression elimination" }, { X("no-gcse"), &firm_opt.gcse, 0, "firm: disable global common subexpression elimination" }, { X("inline-max-size="), NULL, 0, "firm: set maximum size for function inlining" }, @@ -132,20 +117,18 @@ static const struct params { { X("fp-strict"), &firm_opt.fp_model, fp_model_strict, "firm: strict fp model" }, { X("opt-cc"), &firm_opt.cc_opt, 1, "firm: enable calling conventions optimization" }, { X("no-opt-cc"), &firm_opt.cc_opt, 0, "firm: disable calling conventions optimization" }, - { X("freestanding"), &firm_opt.freestanding, 1, "firm: freestanding environment" }, - { X("hosted"), &firm_opt.freestanding, 0, "firm: hosted environment" }, /* other firm regarding options */ { X("restrict"), &firm_opt.honor_restrict, 1, "firm: honor restrict keyword" }, { X("no-restrict"), &firm_opt.honor_restrict, 1, "firm: restrict keyword is meaningless" }, { X("no-lower"), &firm_opt.lower, 0, "firm: disable lowering" }, - { X("vrfy-off"), &firm_opt.vrfy, FIRM_VERIFICATION_OFF, "firm: disable node verification" }, - { X("vrfy-on"), &firm_opt.vrfy, FIRM_VERIFICATION_ON, "firm: enable node verification" }, - { X("vrfy-report"), &firm_opt.vrfy, FIRM_VERIFICATION_REPORT, "firm: node verification, report only" }, + { X("verify-off"), &firm_opt.verify, FIRM_VERIFICATION_OFF, "firm: disable node verification" }, + { X("verify-on"), &firm_opt.verify, FIRM_VERIFICATION_ON, "firm: enable node verification" }, + { X("verify-report"), &firm_opt.verify, FIRM_VERIFICATION_REPORT, "firm: node verification, report only" }, { X("check-all"), &firm_opt.check_all, 1, "firm: enable checking all Firm phases" }, { X("no-check-all"), &firm_opt.check_all, 0, "firm: disable checking all Firm phases" }, - { X("vrfy-edges-on"), &firm_opt.vrfy_edges, 1, "firm: enable out edge verification" }, - { X("vrfy-edges-off"), &firm_opt.vrfy_edges, 0, "firm: disable out edge verification" }, + { X("verify-edges-on"), &firm_opt.verify_edges, 1, "firm: enable out edge verification" }, + { X("verify-edges-off"), &firm_opt.verify_edges, 0, "firm: disable out edge verification" }, /* dumping */ #if defined(_DEBUG) || defined(FIRM_DEBUG) @@ -157,7 +140,6 @@ static const struct params { { X("dump-no-blocks"), &firm_dump.no_blocks, 1, "firm: dump non-blocked graph" }, { X("dump-extbb"), &firm_dump.extbb, 1, "firm: dump extended basic blocks" }, { X("dump-all-phases"), &firm_dump.all_phases, 1, "firm: dump graphs for all optimization phases" }, - { X("dump-edge-labels"), &firm_dump.edge_labels, 1, "firm: dump edge labels" }, /* code generation */ { X("no-codegen"), &firm_be_opt.selection, BE_NONE, "cg: disable code generator" }, @@ -182,9 +164,6 @@ static const struct params { { X("stat-final"), &firm_dump.statistic, STAT_FINAL, "misc: Firm statistic after code generation" }, { X("stat-pattern"), &firm_dump.stat_pattern, 1, "misc: Firm statistic calculates most used pattern" }, { X("stat-dag"), &firm_dump.stat_dag, 1, "misc: Firm calculates DAG statistics" }, - { X("win32"), &firm_opt.os_support, OS_SUPPORT_MINGW, "misc: generate MinGW Win32 code" }, - { X("mac"), &firm_opt.os_support, OS_SUPPORT_MACHO, "misc: generate MacOS code" }, - { X("linux"), &firm_opt.os_support, OS_SUPPORT_LINUX, "misc: generate Linux-ELF code" }, /* string options */ { X("dump-filter="), NULL, 0, "misc: set dumper filter" }, @@ -222,7 +201,6 @@ static void disable_opts(void) { firm_opt.strict_alias = FALSE; firm_opt.no_alias = FALSE; firm_opt.cc_opt = FALSE; - firm_opt.freestanding = TRUE; disable_all_opts(); } /* disable_opts */ @@ -304,22 +282,23 @@ int firm_option(const char *opt) /** * prints the firm version number */ -void print_firm_version(FILE *f) { - const char *revision = ir_get_version_revision(); - const char *build = ir_get_version_build(); +void print_firm_version(FILE *f) +{ + const char *revision = ir_get_version_revision(); + const char *build = ir_get_version_build(); - fprintf(f, "Firm C-Compiler using libFirm (%u.%u", - ir_get_version_major(), ir_get_version_minor()); - if (revision[0] != 0) { - fputc(' ', f); - fputs(revision, f); - } - if(build[0] != 0) { - fputc(' ', f); - fputs(build, f); - } - fprintf(f, "}\n" - "(C) 2005-2008 Michael Beck\n" - "(C) 1995-2008 University of Karlsruhe\n" - "Using "); + fprintf(f, "Firm C-Compiler using libFirm (%u.%u", + ir_get_version_major(), ir_get_version_minor()); + if (revision[0] != 0) { + fputc(' ', f); + fputs(revision, f); + } + if (build[0] != 0) { + fputc(' ', f); + fputs(build, f); + } + fprintf(f, "}\n" + "(C) 2005-2008 Michael Beck\n" + "(C) 1995-2008 University of Karlsruhe\n" + "Using "); } /* print_firm_version */