- teach the analyzer how to handle inner functions
[libfirm] / ir / common / firm.c
index 105296a..5c40fc9 100644 (file)
 # include "firm_revision.h"
 #endif
 
-#ifdef HAVE_STRING_H
-# include <string.h>
-#endif
-#ifdef HAVE_STDIO_H
-# include <stdio.h>
-#endif
+#include <string.h>
+#include <stdio.h>
 
 #include "lc_opts.h"
 
@@ -72,12 +68,7 @@ lc_opt_entry_t *firm_opt_get_root(void) {
        return grp;
 }
 
-void firm_init_options(const char *arg_prefix, int argc, const char **argv) {
-       /* parse commandline */
-       lc_opt_from_argv(firm_opt_get_root(), arg_prefix, argc, argv, NULL);
-}
-
-void init_firm(const firm_parameter_t *param)
+void ir_init(const firm_parameter_t *param)
 {
        firm_parameter_t def_params;
        unsigned int     size;
@@ -152,19 +143,20 @@ void init_firm(const firm_parameter_t *param)
        arch_dep_init(arch_dep_default_factory);
        arch_dep_set_opts(0);
 
-       firm_archops_init(def_params.arch_op_settings);
-
 #ifdef DEBUG_libfirm
        /* integrated debugger extension */
        firm_init_debugger();
 #endif
 }
 
-void free_firm(void) {
+void ir_finish(void)
+{
        int i;
 
        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)
@@ -183,14 +175,26 @@ void free_firm(void) {
        firm_be_finish();
 }
 
-/* Returns the libFirm version number. */
-void firm_get_version(firm_version_t *version) {
-       version->major    = libfirm_VERSION_MAJOR;
-       version->minor    = libfirm_VERSION_MINOR;
+unsigned ir_get_version_major(void)
+{
+       return libfirm_VERSION_MAJOR;
+}
+
+unsigned ir_get_version_minor(void)
+{
+       return libfirm_VERSION_MINOR;
+}
+
+const char *ir_get_version_revision(void)
+{
 #ifdef libfirm_VERSION_REVISION
-       version->revision = libfirm_VERSION_REVISION;
+       return libfirm_VERSION_REVISION;
 #else
-       version->revision = "";
+       return "";
 #endif
-       version->build    = "";
+}
+
+const char *ir_get_version_build(void)
+{
+       return "";
 }