3 * File name: ir/ir/iropt_dbg.h
4 * Purpose: Debug makros used in iropt.
5 * Author: Goetz Lindenmaier
9 * Copyright: (c) 2001-2003 Universität Karlsruhe
10 * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE.
14 /* This file contains makros that generate the calls to
15 update the debug information after a transformation. */
17 #define SIZ(x) sizeof(x)/sizeof((x)[0])
20 * Merge the debug info due to a straightening optimization
26 ons[1] = get_Block_cfgpred(oldn, 0); \
27 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_straightening); \
31 * Merge the debug info due to an if simplification
33 #define DBG_OPT_IFSIM \
39 ons[3] = get_Proj_pred(a); \
40 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_if_simplification); \
44 * Merge the debug info due to an algebraic_simplification
46 #define DBG_OPT_ALGSIM1 \
52 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
55 #define DBG_OPT_ALGSIM2 \
59 ons[1] = get_unop_op(n); \
61 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
64 #define DBG_OPT_ALGSIM3 \
69 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \
77 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_ssa); \
86 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_write_after_write);\
94 __dbg_info_merge_sets(&c, 1, ons, SIZ(ons), dbg_write_after_read); \
97 #define DBG_OPT_TUPLE \
103 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode); \
111 __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode); \