87473b1ba68c464faab72f4d13dadc85792db423
[libfirm] / ir / ir / iropt_dbg.h
1
2
3 /* This file contains makros that generate the calls to
4    update the debug information after a transformation. */
5
6 #define DBG_OPT_STG                                                \
7         {                                                          \
8           ir_node *ons[2];                                         \
9           ons[0] = oldn;                                           \
10           ons[1] = get_Block_cfgpred(oldn, 0);                     \
11           __dbg_info_merge_sets(&n, 1, ons, 2, dbg_straightening); \
12         }
13
14 #define DBG_OPT_IFSIM                                                 \
15         {                                                             \
16           ir_node *ons[4];                                            \
17           ons[0] = oldn;                                                 \
18           ons[1] = a;                                                 \
19           ons[2] = b;                                                 \
20           ons[3] = get_Proj_pred(a);                                  \
21           __dbg_info_merge_sets(&n, 1, ons, 4, dbg_if_simplification); \
22         }
23
24 #define DBG_OPT_ALGSIM1                                               \
25         {                                                             \
26           ir_node *ons[3];                                            \
27           ons[0] = oldn;                                              \
28           ons[1] = a;                                                 \
29           ons[2] = b;                                                 \
30           __dbg_info_merge_sets(&n, 1, ons, 3, dbg_algebraic_simplification); \
31         }
32
33 #define DBG_OPT_ALGSIM2                                               \
34         {                                                             \
35           ir_node *ons[3];                                            \
36           ons[0] = oldn;                                              \
37           ons[1] = get_unop_op(n);                                    \
38           ons[2] = n;                                                 \
39           __dbg_info_merge_sets(&n, 1, ons, 3, dbg_algebraic_simplification); \
40         }
41
42 #define DBG_OPT_ALGSIM3                                               \
43         {                                                             \
44           ir_node *ons[2];                                            \
45           ons[0] = oldn;                                              \
46           ons[1] = a;                                                 \
47           __dbg_info_merge_sets(&n, 1, ons, 2, dbg_algebraic_simplification); \
48         }
49
50 #define DBG_OPT_PHI                                                   \
51         {                                                             \
52           ir_node *ons[2];                                            \
53           ons[0] = oldn;                                              \
54           ons[1] = first_val;                                         \
55           __dbg_info_merge_sets(&n, 1, ons, 2, dbg_opt_ssa);          \
56         }
57
58
59 #define DBG_OPT_WAW                                                   \
60         {                                                             \
61           ir_node *ons[2];                                            \
62           ons[0] = oldn;                                              \
63           ons[1] = n;                                                 \
64           __dbg_info_merge_sets(&n, 1, ons, 2, dbg_write_after_write);\
65         }
66
67 #define DBG_OPT_WAR                                                   \
68         {                                                             \
69           ir_node *ons[2];                                            \
70           ons[0] = oldn;                                              \
71           ons[1] = c;                                                 \
72           __dbg_info_merge_sets(&c, 1, ons, 2, dbg_write_after_read); \
73         }
74
75 #define DBG_OPT_TUPLE                                                 \
76         {                                                             \
77           ir_node *ons[3];                                            \
78           ons[0] = oldn;                                              \
79           ons[1] = a;                                                 \
80           ons[2] = n;                                                 \
81           __dbg_info_merge_sets(&n, 1, ons, 3, dbg_opt_auxnode);      \
82         }
83 #define DBG_OPT_ID                                                \
84         {                                                             \
85           ir_node *ons[2];                                            \
86           ons[0] = oldn;                                              \
87           ons[1] = n;                                                 \
88           __dbg_info_merge_sets(&n, 1, ons, 2, dbg_opt_auxnode);      \
89         }