spill preparation needs liveness
[libfirm] / include / libfirm / firm.h
index da11e91..ac677a8 100644 (file)
@@ -22,7 +22,7 @@
  * @brief     Central firm header.
  * @author    Martin Trapp, Christian Schaefer, Goetz Lindenmaier
  * @version   $Id$
- * @summary
+ * @brief
  *  Central FIRM header.
  *
  *  FIRM is a full graph based intermediate representation in SSA Form
@@ -69,6 +69,8 @@ extern "C" {
 #include "irgraph.h"       /* graphs */
 #include "typerep.h"       /* type representation */
 #include "tv.h"            /* target values */
+#include "irnode.h"
+#include "irop.h"
 #include "ident.h"         /* source code identificators */
 
 /* Functionality */
@@ -80,6 +82,8 @@ extern "C" {
 #include "irgopt.h"         /* optimize ir */
 #include "iroptimize.h"     /* optimize ir by reassociation */
 #include "ircgopt.h"        /* Optimizations based on interprocedural graph */
+#include "iropt.h"
+#include "irpass.h"         /* Pass management */
 
 /* Lowering */
 #include "lowering.h"         /* lowering of different calls parameters, intrinsic calls, double word types, high-level constructs */
@@ -110,9 +114,9 @@ extern "C" {
 
 #include "dbginfo.h"       /* debug support */
 #include "seqnumbers.h"    /* debug support */
-#include "firm_ycomp.h"    /* ycomp debugging support */
 
 #include "irdump.h"
+#include "irio.h"
 #include "irprintf.h"
 #include "irvrfy.h"
 
@@ -120,83 +124,7 @@ extern "C" {
 
 #include "iredges.h"
 
-/**
- * libFirm initialization parameters.
- */
-struct _firm_parameter_t {
-  /**
-   * The size of this structure. init_firm() will only initialize
-   * this amount of data. This allows to add more fields to this structure
-   * without breaking compatibility to older source.
-   */
-  unsigned int size;
-
-  /**
-   * Statistic options. If statistic function where enabled, these
-   * flags configure it, see enum firmstat_options_t.
-   */
-  unsigned enable_statistics;
-
-  /**
-   * This function is called, whenever a local variable is
-   * used before definition. The function should insert a default value,
-   * and/or raise a compiler error/warning. Note that returning
-   * an Unknown is allowed here.
-   */
-  uninitialized_local_variable_func_t *initialize_local_func;
-
-  /**
-   * The interface functions for the type identification module.
-   * If not set, the default implementation with compare_strict() and
-   * firm_hash_name() will be used.
-   */
-  type_identify_if_t *ti_if;
-
-  /**
-   * The interface for the ident module.
-   * If not set, the default libFirm ident module (using hash sets).
-   */
-  ident_if_t *id_if;
-
-  /**
-   * The default calling convention.
-   */
-  unsigned cc_mask;
-
-  /**
-   * The debug info that should be used for "builtin" objects.
-   */
-  dbg_info *builtin_dbg;
-};
-
-typedef struct _firm_parameter_t firm_parameter_t;
-
-/**
- * Initialize the firm library.
- *
- * Initializes the firm library.  Allocates default data structures.
- * Initializes configurable behavior of the library.
- *
- * @param params   A structure containing the parameters of the libFirm.
- *
- * The parameter struct may be NULL. In that case, the original FIRM behavior
- * is conserved.
- */
-void init_firm(const firm_parameter_t *params);
-
-/**
- * Frees all memory occupied by the firm library.
- */
-void free_firm(void);
-
-/** returns the libFirm major version number */
-unsigned firm_get_version_major(void);
-/** returns libFirm minor version number */
-unsigned firm_get_version_minor(void);
-/** returns string describing libFirm revision */
-const char *firm_get_version_revision(void);
-/** returns string describing libFirm build */
-const char *firm_get_version_build(void);
+#include "be.h"
 
 #ifdef __cplusplus
 }