* @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
#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 */
#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 */
#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"
#include "be.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 ir_init(const firm_parameter_t *params);
-
-/**
- * Frees all memory occupied by the firm library.
- */
-void ir_finish(void);
-
-/** returns the libFirm major version number */
-unsigned ir_get_version_major(void);
-/** returns libFirm minor version number */
-unsigned ir_get_version_minor(void);
-/** returns string describing libFirm revision */
-const char *ir_get_version_revision(void);
-/** returns string describing libFirm build */
-const char *ir_get_version_build(void);
-
#ifdef __cplusplus
}
#endif