/**
* Merge the debug info due to an algebraic_simplification.
- * A node could be avaluated into a Constant.
+ * A node could be evaluated into a Constant.
*
* @param oldn the node
* @param n the new constant holding the value
hook_merge_nodes(NULL, 0, &n, 1, HOOK_OPT_CONFIRM_E); \
} while(0)
+/**
+ * Merge the debug info due to a GVN-PRE result.
+ *
+ * @param oldn the old node
+ * @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); \
+ } while(0)
+
+/**
+ * Merge the debug info due to a combo result.
+ *
+ * @param oldn the old node
+ * @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); \
+ } while(0)
+
+/**
+ * Merge the debug info due to a jump threading result.
+ *
+ * @param oldn the old control flow node
+ * @param n the new control flow node replacing oldn
+ */
+#define DBG_OPT_JUMPTHREADING(oldn, n) \
+ do { \
+ hook_merge_nodes(&n, 1, &oldn, 1, FS_OPT_JUMPTHREADING); \
+ __dbg_info_merge_pair(n, oldn, dbg_jumpthreading); \
+ } while(0)
+
#endif