680d90dce43cc0683ee67ee3666b8c1cec48d507
[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   do {                                                       \
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         } while(0)
13
14 #define DBG_OPT_IFSIM                                                 \
15   do {                                                          \
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         } while(0)
23
24 #define DBG_OPT_ALGSIM1                                               \
25   do {                                                          \
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         } while(0)
32
33 #define DBG_OPT_ALGSIM2                                               \
34   do {                                                          \
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         } while(0)
41
42 #define DBG_OPT_ALGSIM3                                               \
43   do {                                                          \
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         } while(0)
49
50 #define DBG_OPT_PHI                                                   \
51   do {                                                          \
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         } while(0)
57
58
59 #define DBG_OPT_WAW                                                   \
60   do {                                                          \
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         } while(0)
66
67 #define DBG_OPT_WAR                                                   \
68   do {                                                          \
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         } while(0)
74
75 #define DBG_OPT_TUPLE                                                 \
76   do {                                                          \
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         } while(0)
83
84 #define DBG_OPT_ID                                                \
85   do {                                                          \
86           ir_node *ons[2];                                            \
87           ons[0] = oldn;                                              \
88           ons[1] = n;                                                 \
89           __dbg_info_merge_sets(&n, 1, ons, 2, dbg_opt_auxnode);      \
90         } while(0)