- when a graph is lowered because of struct return changes, transform
[libfirm] / ir / common / firm.c
index d47a9ab..c168589 100644 (file)
@@ -23,9 +23,7 @@
  * @author    Martin Trapp, Christian Schaefer, Goetz Lindenmaier
  * @version   $Id$
  */
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include "config.h"
 
 #ifdef HAVE_FIRM_REVISION_H
 # include "firm_revision.h"
@@ -75,8 +73,8 @@ lc_opt_entry_t *firm_opt_get_root(void) {
 }
 
 void firm_init_options(const char *arg_prefix, int argc, const char **argv) {
-       /* parse any init files for firm */
-       lc_opts_init("firm", firm_opt_get_root(), arg_prefix, argc, argv);
+       /* parse commandline */
+       lc_opt_from_argv(firm_opt_get_root(), arg_prefix, argc, argv, NULL);
 }
 
 void init_firm(const firm_parameter_t *param)
@@ -167,6 +165,8 @@ void free_firm(void) {
 
        for (i = get_irp_n_irgs() - 1; i >= 0; --i)
                free_ir_graph(get_irp_irg(i));
+       for (i = get_irp_n_pseudo_irgs() - 1; i >= 0; --i)
+               free_ir_graph(get_irp_pseudo_irg(i));
 
        free_type_entities(get_glob_type());
        for (i = get_irp_n_types() - 1; i >= 0; --i)