fixed indentation
[libfirm] / ir / common / firm.h
index d4ac3ad..8792cd4 100644 (file)
@@ -69,8 +69,6 @@
 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 */
@@ -84,8 +82,12 @@ extern "C" {
 
 #include "irflag.h"        /* optimization flags */
 #include "irgopt.h"        /* optimize ir */
+#include "reassoc.h"       /* optimize ir by reassociation */
+#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 "irouts.h"        /* Graph reversal / out edges. */
 #include "irdom.h"         /* Dominator analysis */
@@ -101,16 +103,29 @@ extern "C" {
 #include "type_identify.h" /* Support for type identification */
 #include "mangle.h"        /* Support for mangling ident names. */
 
+#include "irarch.h"        /* architecture dependant optimizations */
+//#include "modeconv.h"      /* architecture dependant mode conversion */
+
 #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
    files. */
 #include "irdump.h"
+#include "irprintf.h"
 #include "irvrfy.h"
 #include "trvrfy.h"
 
+#include "irarch.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.
  */
@@ -136,16 +151,22 @@ struct _firm_parameter_t {
   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;
+
+       /**
+        * The factory function for the architecture dependent
+        * optimizations.
+        */
 
 };