extern "C" {
#endif
-#include "old_fctnames.h"
-
/* The representations */
#include "firm_common.h" /* common type tags. */
#include "irprog.h" /* control flow and data of a program */
#include "irflag.h" /* optimization flags */
#include "irgopt.h" /* optimize ir */
+#include "ldstopt.h" /* optimize Load/Store */
+#include "cfopt.h" /* optimize control flow */
#include "tailrec.h" /* optimize tail-recursion calls */
#include "ircgopt.h" /* Optimizations based on interprocedural graph */
+#include "strength_red.h" /* Strength reduction */
+#include "irarch.h" /* architecture dependant optimizations */
#include "irouts.h" /* Graph reversal / out edges. */
#include "irdom.h" /* Dominator analysis */
#include "firmstat.h" /* statistics */
+#include "irreflect.h" /* reflection */
+
/* @@@ temporarily for jni builder until preprocessor works.
Then it should be sufficient to include <file.h> instead
of firm.h as not all enums are needed in the implementation
#include "irvrfy.h"
#include "trvrfy.h"
+/* Makros that define the old function names we decided to rename.
+ Use for compatibility with old implementations. */
+#include "old_fctnames.h"
+
/**
* libFirm initialization parameters.
*/
default_initialize_local_variable_func_t *initialize_local_func;
/**
- * The compare function is used to identify equal types. If not set
- * it is initialized with the function compare_strict().
+ * The interface functions for the type identification module.
+ * If not set, the default implementation with compare_strict() and
+ * hash_name() will be used.
*/
- compare_types_func_t *compare_types_func;
+ type_identify_if_t *ti_if;
+
/**
- * The hash function is used to identify equal types. It calculates a hash
- * value of a type. Note, that the hash value for equal types must be identical.
- * If not set it is initialized with the function hash_name().
+ * The interface for the ident module.
+ * If not set, the default libFirm ident module (using hash sets).
*/
- hash_types_func_t *hash_types_func;
-
+ ident_if_t *id_if;
};