remove unused NEW_REASSOC code
[libfirm] / ir / opt / iropt_dbg.h
index 9157301..7068661 100644 (file)
@@ -21,7 +21,6 @@
  * @file
  * @brief   Debug macros used in iropt.
  * @author  Goetz Lindenmaier, Michael Beck
- * @version $Id$
  */
 #ifndef FIRM_IR_IROPT_DBG_H
 #define FIRM_IR_IROPT_DBG_H
 #include "dbginfo_t.h"
 #include "irhooks.h"
 #include "firmstat.h"
-
-/* This file contains makros that generate the calls to
-   update the debug information after a transformation. */
-#define SIZ(x)  sizeof(x)/sizeof(x[0])
+#include "util.h"
 
 /**
  * Merge the debug info due to dead block elimination.
  * @param oldn  the old block
  * @param n     the new block the merges with oldn
  */
-#define DBG_OPT_STG(oldn, n)                                   \
-       do {                                                       \
-         ir_node *ons[2];                                         \
-         ons[0] = oldn;                                           \
-         ons[1] = get_Block_cfgpred(oldn, 0);                     \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_STG);    \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_straightening); \
+#define DBG_OPT_STG(oldn, n)                                                 \
+       do {                                                                     \
+         ir_node *ons[2];                                                       \
+         ons[0] = oldn;                                                         \
+         ons[1] = get_Block_cfgpred(oldn, 0);                                   \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_STG);           \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_straightening); \
        } while(0)
 
 /**
  * @param proj2  the second ProjX predecessor
  * @param n      the new Block
  */
-#define DBG_OPT_IFSIM1(oldn, proj1, proj2, n)                     \
-       do {                                                          \
-         ir_node *ons[4];                                            \
-         ons[0] = oldn;                                              \
-         ons[1] = proj1;                                             \
-         ons[2] = proj2;                                             \
-         ons[3] = get_Proj_pred(proj1);                              \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_IFSIM);     \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_if_simplification); \
+#define DBG_OPT_IFSIM1(oldn, proj1, proj2, n)                        \
+       do {                                                             \
+         ir_node *ons[4];                                               \
+         ons[0] = oldn;                                                 \
+         ons[1] = proj1;                                                \
+         ons[2] = proj2;                                                \
+         ons[3] = get_Proj_pred(proj1);                                 \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_IFSIM); \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_if_simplification); \
        } while(0)
 
 /**
  */
 #define DBG_OPT_ALGSIM0(oldn, n, flag)                              \
        do {                                                            \
-         hook_merge_nodes(&n, 1, &oldn, 1, flag);                      \
+         hook_merge_nodes(&n, 1, &oldn, 1, (hook_opt_kind)flag);       \
          __dbg_info_merge_pair(n, oldn, dbg_algebraic_simplification); \
        } while(0)
 
          ons[0] = oldn;                                              \
          ons[1] = a;                                                 \
          ons[2] = b;                                                 \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), flag);               \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), (hook_opt_kind)flag); \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_algebraic_simplification); \
        } while(0)
 
 /**
          ons[0] = oldn;                                              \
          ons[1] = pred;                                              \
          ons[2] = n;                                                 \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), flag);               \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), (hook_opt_kind)flag); \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_algebraic_simplification); \
        } while(0)
 
 /**
          ir_node *ons[2];                                            \
          ons[0] = oldn;                                              \
          ons[1] = a;                                                 \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), flag);               \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), flag);        \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_algebraic_simplification); \
        } while(0)
 
 /**
  * @param oldst  the old store that will be removed
  * @param st     the other store that overwrites oldst
  */
-#define DBG_OPT_WAW(oldst, st)                                    \
-       do {                                                          \
-         ir_node *ons[2];                                            \
-         ons[0] = oldst;                                             \
-         ons[1] = st;                                                \
-         hook_merge_nodes(&st, 1, ons, SIZ(ons), HOOK_OPT_WAW);      \
-         __dbg_info_merge_sets(&st, 1, ons, SIZ(ons), dbg_write_after_write); \
+#define DBG_OPT_WAW(oldst, st)                                      \
+       do {                                                            \
+         ir_node *ons[2];                                              \
+         ons[0] = oldst;                                               \
+         ons[1] = st;                                                  \
+         hook_merge_nodes(&st, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_WAW); \
+         __dbg_info_merge_sets(&st, 1, ons, ARRAY_SIZE(ons), dbg_write_after_write); \
        } while(0)
 
 /**
  * @param store  the store that will be removed
  * @param load   the load that produces the value that store will write back
  */
-#define DBG_OPT_WAR(store, load)                                  \
-       do {                                                          \
-         ir_node *ons[2];                                            \
-         ons[0] = store;                                             \
-         ons[1] = load;                                              \
-         hook_merge_nodes(&load, 1, ons, SIZ(ons), HOOK_OPT_WAR);    \
-         __dbg_info_merge_sets(&load, 1, ons, SIZ(ons), dbg_write_after_read); \
+#define DBG_OPT_WAR(store, load)                                      \
+       do {                                                              \
+         ir_node *ons[2];                                                \
+         ons[0] = store;                                                 \
+         ons[1] = load;                                                  \
+         hook_merge_nodes(&load, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_WAR); \
+         __dbg_info_merge_sets(&load, 1, ons, ARRAY_SIZE(ons), dbg_write_after_read); \
        } while(0)
 
 /**
  * @param load   the load that will be replaced
  * @param value  the value that will replace the load
  */
-#define DBG_OPT_RAW(load, value)                                  \
-       do {                                                          \
-         ir_node *ons[2];                                            \
-         ons[0] = load;                                              \
-         ons[1] = value;                                             \
-         hook_merge_nodes(&value, 1, ons, SIZ(ons), HOOK_OPT_RAW);   \
-         __dbg_info_merge_sets(&value, 1, ons, SIZ(ons), dbg_read_after_write); \
+#define DBG_OPT_RAW(load, value)                                       \
+       do {                                                               \
+         ir_node *ons[2];                                                 \
+         ons[0] = load;                                                   \
+         ons[1] = value;                                                  \
+         hook_merge_nodes(&value, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_RAW); \
+         __dbg_info_merge_sets(&value, 1, ons, ARRAY_SIZE(ons), dbg_read_after_write); \
        } while(0)
 
 /**
  * @param oldld  the old load that can be replaced
  * @param ld     the load that produces the same values
  */
-#define DBG_OPT_RAR(oldld, ld)                                    \
-       do {                                                          \
-         ir_node *ons[2];                                            \
-         ons[0] = oldld;                                             \
-         ons[1] = ld;                                                \
-         hook_merge_nodes(&ld, 1, ons, SIZ(ons), HOOK_OPT_RAR);      \
-         __dbg_info_merge_sets(&ld, 1, ons, SIZ(ons), dbg_read_after_read); \
+#define DBG_OPT_RAR(oldld, ld)                                      \
+       do {                                                            \
+         ir_node *ons[2];                                              \
+         ons[0] = oldld;                                               \
+         ons[1] = ld;                                                  \
+         hook_merge_nodes(&ld, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_RAR); \
+         __dbg_info_merge_sets(&ld, 1, ons, ARRAY_SIZE(ons), dbg_read_after_read); \
        } while(0)
 
 /**
          ir_node *ons[2];                                            \
          ons[0] = ld;                                                \
          ons[1] = c;                                                 \
-         hook_merge_nodes(&c, 1, ons, SIZ(ons), HOOK_OPT_RC);        \
-         __dbg_info_merge_sets(&ld, 1, ons, SIZ(ons), dbg_read_a_const); \
+         hook_merge_nodes(&c, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_RC); \
+         __dbg_info_merge_sets(&ld, 1, ons, ARRAY_SIZE(ons), dbg_read_a_const); \
        } while(0)
 
 /**
  * @param tuple  the Tuple node
  * @param n      the Proj(Tuple) value
  */
-#define DBG_OPT_TUPLE(proj, tuple, n)                             \
-       do {                                                          \
-         ir_node *ons[3];                                            \
-         ons[0] = proj;                                              \
-         ons[1] = tuple;                                             \
-         ons[2] = n;                                                 \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_TUPLE);     \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode);      \
+#define DBG_OPT_TUPLE(proj, tuple, n)                                      \
+       do {                                                                   \
+         ir_node *ons[3];                                                     \
+         ons[0] = proj;                                                       \
+         ons[1] = tuple;                                                      \
+         ons[2] = n;                                                          \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_TUPLE);       \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_opt_auxnode); \
        } while(0)
 
 /**
  * @param id  the Id node
  * @param n   the predecessor
  */
-#define DBG_OPT_ID(id, n)                                         \
-       do {                                                          \
-         ir_node *ons[2];                                            \
-         ons[0] = id;                                                \
-         ons[1] = n;                                                 \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ID);        \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode);      \
+#define DBG_OPT_ID(id, n)                                                  \
+       do {                                                                   \
+         ir_node *ons[2];                                                     \
+         ons[0] = id;                                                         \
+         ons[1] = n;                                                          \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_ID);          \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_opt_auxnode); \
        } while(0)
 
 /**
  * @param oldn  the old node
  * @param n     the node that replaces oldn
  */
-#define DBG_OPT_CSE(oldn, n)                                      \
-       do {                                                          \
-         ir_node *ons[2];                                            \
-         ons[0] = oldn;                                              \
-         ons[1] = n;                                                 \
-         hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_CSE);       \
-         __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_cse);   \
+#define DBG_OPT_CSE(oldn, n)                                           \
+       do {                                                               \
+         ir_node *ons[2];                                                 \
+         ons[0] = oldn;                                                   \
+         ons[1] = n;                                                      \
+         hook_merge_nodes(&n, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_CSE);     \
+         __dbg_info_merge_sets(&n, 1, ons, ARRAY_SIZE(ons), dbg_opt_cse); \
        } while(0)
 
 /**
  * @param sel   the Sel node that will be replaced.
  * @param c     the constant node that replaces sel
  */
-#define DBG_OPT_POLY(sel, c)                                          \
-       do {                                                              \
-         ir_node *ons[3];                                                \
-         ons[0] = sel;                                                   \
-         ons[1] = skip_Proj(get_Sel_ptr(sel));                           \
-         ons[2] = c;                                                     \
-         hook_merge_nodes(&c, 1, ons, SIZ(ons), HOOK_OPT_POLY_CALL);     \
-         __dbg_info_merge_sets(&c, 1, ons, SIZ(ons), dbg_rem_poly_call); \
+#define DBG_OPT_POLY(sel, c)                                                 \
+       do {                                                                     \
+         ir_node *ons[3];                                                       \
+         ons[0] = sel;                                                          \
+         ons[1] = skip_Proj(get_Sel_ptr(sel));                                  \
+         ons[2] = c;                                                            \
+         hook_merge_nodes(&c, 1, ons, ARRAY_SIZE(ons), HOOK_OPT_POLY_CALL);     \
+         __dbg_info_merge_sets(&c, 1, ons, ARRAY_SIZE(ons), dbg_rem_poly_call); \
        } while(0)
 
 /**
  */
 #define DBG_EVAL_CONFIRM(n)                                    \
        do {                                                       \
-         hook_merge_nodes(NULL, 0, &n, 1, HOOK_OPT_CONFIRM_E);    \
+         hook_merge_nodes(NULL, 0, (ir_node**)&n, 1, HOOK_OPT_CONFIRM_E);    \
        } while(0)
 
 /**
  * @param n     the new node replacing oldn
  * @param flag  firm statistics option
  */
-#define DBG_OPT_GVN_PRE(oldn, n, flag)             \
-       do {                                           \
-         hook_merge_nodes(&n, 1, &oldn, 1, flag);     \
-         __dbg_info_merge_pair(n, oldn, dbg_gvn_pre); \
+#define DBG_OPT_GVN_PRE(oldn, n, flag)                        \
+       do {                                                      \
+         hook_merge_nodes(&n, 1, &oldn, 1, (hook_opt_kind)flag); \
+         __dbg_info_merge_pair(n, oldn, dbg_gvn_pre);            \
        } while(0)
 
 /**
  * @param n     the new node replacing oldn
  * @param flag  firm statistics option
  */
-#define DBG_OPT_COMBO(oldn, n, flag)             \
-       do {                                         \
-         hook_merge_nodes(&n, 1, &oldn, 1, flag);   \
-         __dbg_info_merge_pair(n, oldn, dbg_combo); \
+#define DBG_OPT_COMBO(oldn, n, flag)                          \
+       do {                                                      \
+         hook_merge_nodes(&n, 1, &oldn, 1, (hook_opt_kind)flag); \
+         __dbg_info_merge_pair(n, oldn, dbg_combo);              \
        } while(0)
 
 /**
  */
 #define DBG_OPT_JUMPTHREADING(oldn, n)                         \
        do {                                                   \
-         hook_merge_nodes(&n, 1, &oldn, 1, FS_OPT_JUMPTHREADING); \
+         hook_merge_nodes(&n, 1, &oldn, 1, (hook_opt_kind)FS_OPT_JUMPTHREADING); \
          __dbg_info_merge_pair(n, oldn, dbg_jumpthreading);       \
        } while(0)