Adding some file extensions for detection
[cparser] / driver / firm_cmdline.c
index ccc5766..d7e7075 100644 (file)
 #include <libfirm/firm.h>
 #include <libfirm/be.h>
 
-#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=<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=<string>"),   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 */