+ 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); \
+ } while(0)
+
+/**
+ * Merge the debug info due to Read-after-Write optimization:
+ * load will be replace by a reference to store
+ */
+#define DBG_OPT_RAW(store, load) \
+ do { \
+ ir_node *ons[2]; \
+ ons[0] = store; \
+ ons[1] = load; \
+ hook_merge_nodes(&store, 1, ons, SIZ(ons), HOOK_OPT_RAW); \
+ __dbg_info_merge_sets(&store, 1, ons, SIZ(ons), dbg_read_after_write); \
+ } while(0)
+
+/**
+ * Merge the debug info due to Read-after-Read optimization:
+ * Load oldld will be replace by a reference to Load ld
+ */
+#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); \
+ } while(0)
+
+/**
+ * Merge the debug info due to Read-a-Const optimization:
+ * Load ld will be replace by a Constant
+ */
+#define DBG_OPT_RC(ld, c) \
+ do { \
+ ir_node *ons[2]; \
+ ons[0] = ld; \