changed inline to INLINE, removed C99
[libfirm] / ir / stat / firmstat.h
index 2312f0d..5f6fc12 100644 (file)
@@ -14,9 +14,6 @@
 /**
  * @file firmstat.h
  */
-#include "irop.h"
-#include "irnode.h"
-#include "irgraph.h"
 #include "irhooks.h"
 
 /**
@@ -46,6 +43,7 @@ enum firmstat_optimizations_t {
   FS_OPT_ADD_MUL_A_X_A,                     /**< a * x + a = a * (x + 1) */
   FS_OPT_SUB_0_A,                           /**< 0 - a = -a */
   FS_OPT_SUB_MUL_A_X_A,                     /**< a * x - a = a * (x - 1) */
+  FS_OPT_SUB_SUB_X_Y_Z,                     /**< (x - y) - z = x - (y + z) */
   FS_OPT_MUL_MINUS_1,                       /**< a * -1 = -a */
   FS_OPT_OR,                                /**< a | a = a | 0 = 0 | a = a */
   FS_OPT_AND,                               /**< a & 0b1...1 = 0b1...1 & a =  a & a = a */
@@ -65,6 +63,7 @@ enum firmstat_optimizations_t {
   FS_OPT_MUX_TO_MAX,                        /**< Mux(a > b, a, b) = Max(a,b) */
   FS_OPT_MUX_TO_ABS,                        /**< Mux(a > b, a, b) = Abs(a,b) */
   FS_OPT_MUX_TO_SHR,                        /**< Mux(a > b, a, b) = a >> b */
+  FS_OPT_CONST_PHI,                         /**< Constant evaluation on Phi */
   FS_BE_IA32_LEA,                           /**< Lea was created */
   FS_BE_IA32_LOAD_LEA,                      /**< Load merged with a Lea */
   FS_BE_IA32_STORE_LEA,                     /**< Store merged with a Lea */
@@ -100,4 +99,10 @@ void firm_init_stat(unsigned enable_options);
  */
 void stat_term(void);
 
+/**
+ * returns 1 if statistic module is active, 0 otherwise
+ */
+int stat_is_active(void);
+
+
 #endif /* _FIRMSTAT_H_ */