#define SIZ(x) sizeof(x)/sizeof((x)[0])
+
+/**
+ * Merge the debug info due to dead code elimination
+ */
+#define DBG_OPT_DEAD \
+ do { \
+ ir_node *ons[2]; \
+ ons[0] = oldn; \
+ ons[1] = get_Block_cfgpred(oldn, 0); \
+ stat_merge_nodes(&n, 1, ons, SIZ(ons), STAT_OPT_STG); \
+ __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_dead_code); \
+ } while(0)
+
+
/**
* Merge the debug info due to a straightening optimization
*/
} while(0)
#define DBG_OPT_ALGSIM2 \
- do { \
+ do { \
ir_node *ons[3]; \
ons[0] = oldn; \
- ons[1] = get_unop_op(n); \
+ ons[1] = get_unop_op(oldn); \
ons[2] = n; \
stat_merge_nodes(&n, 1, ons, SIZ(ons), STAT_OPT_ALGSIM); \
__dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
__dbg_info_merge_sets(&c, 1, ons, SIZ(ons), dbg_write_after_read); \
} while(0)
+#define DBG_OPT_RAW \
+ do { \
+ ir_node *ons[2]; \
+ ons[0] = oldn; \
+ ons[1] = c; \
+ stat_merge_nodes(&n, 1, ons, SIZ(ons), STAT_OPT_RAW); \
+ __dbg_info_merge_sets(&c, 1, ons, SIZ(ons), dbg_read_after_write); \
+ } while(0)
+
#define DBG_OPT_TUPLE \
do { \
ir_node *ons[3]; \