- * @brief Debug makros used in iropt.
- * @author Goetz Lindenmaier
+ * @brief Debug macros used in iropt.
+ * @author Goetz Lindenmaier, Michael Beck
* @param oldn the block that it is eliminated
* @param n the new node for this block, may be equal to oldn
*/
* @param oldn the block that it is eliminated
* @param n the new node for this block, may be equal to oldn
*/
-#define DBG_OPT_DEAD_BLOCK(oldn, n) \
- do { \
- hook_merge_nodes(&n, 1, &oldn, 1, HOOK_OPT_DEAD_BLOCK); \
- __dbg_info_merge_pair(n, oldn, dbg_dead_code); \
+#define DBG_OPT_DEAD_BLOCK(oldn, n) \
+ do { \
+ hook_merge_nodes(&n, 1, &oldn, 1, HOOK_OPT_DEAD_BLOCK); \
+ __dbg_info_merge_pair(n, oldn, dbg_dead_code); \
- hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_STG); \
+ hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_STG); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_straightening); \
} while(0)
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_straightening); \
} while(0)
-#define DBG_OPT_ALGSIM1(oldn, a, b, n, flag) \
- do { \
+#define DBG_OPT_ALGSIM1(oldn, a, b, n, flag) \
+ do { \
ir_node *ons[3]; \
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); \
ir_node *ons[3]; \
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); \
ir_node *ons[3]; \
ons[0] = oldn; \
ons[1] = pred; \
ons[2] = n; \
hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ALGSIM); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
ir_node *ons[3]; \
ons[0] = oldn; \
ons[1] = pred; \
ons[2] = n; \
hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ALGSIM); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
/**
* Merge the debug info due to an algebraic_simplification.
*/
#define DBG_OPT_ALGSIM3(oldn, a, n) \
/**
* Merge the debug info due to an algebraic_simplification.
*/
#define DBG_OPT_ALGSIM3(oldn, a, n) \
ir_node *ons[2]; \
ons[0] = oldn; \
ons[1] = a; \
hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ALGSIM); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
ir_node *ons[2]; \
ons[0] = oldn; \
ons[1] = a; \
hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ALGSIM); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
-#define DBG_OPT_PHI(phi, n) \
- do { \
- hook_merge_nodes(&n, 1, &phi, 1, HOOK_OPT_PHI); \
- __dbg_info_merge_sets(&n, 1, &phi, 1, dbg_opt_ssa); \
- } while(0)
+#define DBG_OPT_PHI(phi, n) \
+ do { \
+ hook_merge_nodes(&n, 1, &phi, 1, HOOK_OPT_PHI); \
+ __dbg_info_merge_sets(&n, 1, &phi, 1, dbg_opt_ssa); \
+ } while(0)
-#define DBG_OPT_SYNC(sync, n) \
- do { \
- hook_merge_nodes(&n, 1, &sync, 1, HOOK_OPT_SYNC); \
+#define DBG_OPT_SYNC(sync, n) \
+ do { \
+ hook_merge_nodes(&n, 1, &sync, 1, HOOK_OPT_SYNC); \
__dbg_info_merge_sets(&n, 1, &sync, 1, dbg_opt_ssa); \
__dbg_info_merge_sets(&n, 1, &sync, 1, dbg_opt_ssa); \
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); \
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); \
* @param store the store that will be removed
* @param load the load that produces the value that store will write back
*/
* @param store the store that will be removed
* @param load the load that produces the value that store will write back
*/
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); \
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); \
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); \
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); \
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); \
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); \
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); \
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); \
- hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ID); \
+ hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_ID); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode); \
- hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_CSE); \
+ hook_merge_nodes(&n, 1, ons, SIZ(ons), HOOK_OPT_CSE); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_cse); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_cse); \
-#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); \
- } while(0)
+#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); \
+ } while(0)
-#define DBG_OPT_CONFIRM(oldn, n) \
- do { \
- hook_merge_nodes(&n, 1, &oldn, 1, HOOK_OPT_CONFIRM); \
- __dbg_info_merge_pair(n, oldn, dbg_opt_confirm); \
- } while(0)
+#define DBG_OPT_CONFIRM(oldn, n) \
+ do { \
+ hook_merge_nodes(&n, 1, &oldn, 1, HOOK_OPT_CONFIRM); \
+ __dbg_info_merge_pair(n, oldn, dbg_opt_confirm); \
+ } while(0)
-#define DBG_OPT_CONFIRM_C(oldn, c) \
- do { \
- hook_merge_nodes(&c, 1, &oldn, 1, HOOK_OPT_CONFIRM_C); \
- __dbg_info_merge_pair(c, oldn, dbg_opt_confirm); \
- } while(0)
+#define DBG_OPT_CONFIRM_C(oldn, c) \
+ do { \
+ hook_merge_nodes(&c, 1, &oldn, 1, HOOK_OPT_CONFIRM_C); \
+ __dbg_info_merge_pair(c, oldn, dbg_opt_confirm); \
+ } while(0)
-#define DBG_OPT_EXC_REM(oldn) \
- do { \
- hook_merge_nodes(NULL, 0, &oldn, 1, HOOK_OPT_EXC_REM); \
- } while(0)
+#define DBG_OPT_EXC_REM(oldn) \
+ do { \
+ hook_merge_nodes(NULL, 0, &oldn, 1, HOOK_OPT_EXC_REM); \
+ } while(0)
-#define DBG_EVAL_CONFIRM(n) \
- do { \
- hook_merge_nodes(NULL, 0, &n, 1, HOOK_OPT_CONFIRM_E); \
- } while(0)
+#define DBG_EVAL_CONFIRM(n) \
+ do { \
+ hook_merge_nodes(NULL, 0, &n, 1, HOOK_OPT_CONFIRM_E); \
+ } while(0)