fixed some depencies between irdump.c and irdumptxt.c
[libfirm] / ir / ir / irarch.h
index 4aee97b..564b003 100644 (file)
  * optimizations.
  */
 typedef struct {
-  int also_use_subs : 1; /**< Use also Subs when resolving muls to shifts */
-  int allow_mulhs   : 1; /**< Use the Mulhs operation for division by constant */
-  int allow_mulhu   : 1; /**< Use the Mulhu operation for division by constant */
+  /* Mul optimization */
+  int also_use_subs : 1;                /**< Use also Subs when resolving muls to shifts */
+  int maximum_shifts;                   /**< The maximum number of shifts that shall be inserted for a mul. */
+  unsigned highest_shift_amount;        /**< The highest shift amount you want to
+                                            tolerate. Muls which would require a higher
+                                            shift constant are left. */
 
-  int maximum_shifts;    /**< The maximum number of shifts that shall be
-                           inserted for a mul. */
-
-  int highest_shift_amount; /**< The highest shift amount you want to
-                              tolerate. Muls which would require a higher
-                              shift constant are left. */
+  /* Div/Mod optimization */
+  int allow_mulhs   : 1;        /**< Use the Mulhs operation for division by constant */
+  int allow_mulhu   : 1;        /**< Use the Mulhu operation for division by constant */
+  unsigned max_bits_for_mulh;   /**< Maximum number of bits the Mulh operation can take.
+                                     Modes with higher amount of bits will use Mulh */
 } arch_dep_params_t;
 
 /**