X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firopt_dbg.h;h=86db855c810e35d7439f750b4f0a311c36f3710d;hb=4b0c3aae5a8d42abd6c75d0a3f7e8bec81fa7ab7;hp=87473b1ba68c464faab72f4d13dadc85792db423;hpb=66f846a2a301d938700fee41d0e1bccc7c6d6935;p=libfirm diff --git a/ir/ir/iropt_dbg.h b/ir/ir/iropt_dbg.h index 87473b1ba..86db855c8 100644 --- a/ir/ir/iropt_dbg.h +++ b/ir/ir/iropt_dbg.h @@ -3,87 +3,90 @@ /* This file contains makros that generate the calls to update the debug information after a transformation. */ +#define SIZ(x) sizeof(x)/sizeof((x)[0]) + #define DBG_OPT_STG \ - { \ + do { \ ir_node *ons[2]; \ ons[0] = oldn; \ ons[1] = get_Block_cfgpred(oldn, 0); \ - __dbg_info_merge_sets(&n, 1, ons, 2, dbg_straightening); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_straightening); \ + } while(0) #define DBG_OPT_IFSIM \ - { \ + do { \ ir_node *ons[4]; \ ons[0] = oldn; \ ons[1] = a; \ ons[2] = b; \ ons[3] = get_Proj_pred(a); \ - __dbg_info_merge_sets(&n, 1, ons, 4, dbg_if_simplification); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_if_simplification); \ + } while(0) #define DBG_OPT_ALGSIM1 \ - { \ + do { \ ir_node *ons[3]; \ ons[0] = oldn; \ ons[1] = a; \ ons[2] = b; \ - __dbg_info_merge_sets(&n, 1, ons, 3, dbg_algebraic_simplification); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \ + } while(0) #define DBG_OPT_ALGSIM2 \ - { \ + do { \ ir_node *ons[3]; \ ons[0] = oldn; \ ons[1] = get_unop_op(n); \ - ons[2] = n; \ - __dbg_info_merge_sets(&n, 1, ons, 3, dbg_algebraic_simplification); \ - } + ons[2] = n; \ + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \ + } while(0) #define DBG_OPT_ALGSIM3 \ - { \ + do { \ ir_node *ons[2]; \ ons[0] = oldn; \ ons[1] = a; \ - __dbg_info_merge_sets(&n, 1, ons, 2, dbg_algebraic_simplification); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_algebraic_simplification); \ + } while(0) #define DBG_OPT_PHI \ - { \ + do { \ ir_node *ons[2]; \ ons[0] = oldn; \ ons[1] = first_val; \ - __dbg_info_merge_sets(&n, 1, ons, 2, dbg_opt_ssa); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_ssa); \ + } while(0) #define DBG_OPT_WAW \ - { \ + do { \ ir_node *ons[2]; \ ons[0] = oldn; \ ons[1] = n; \ - __dbg_info_merge_sets(&n, 1, ons, 2, dbg_write_after_write);\ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_write_after_write);\ + } while(0) #define DBG_OPT_WAR \ - { \ + do { \ ir_node *ons[2]; \ ons[0] = oldn; \ ons[1] = c; \ - __dbg_info_merge_sets(&c, 1, ons, 2, dbg_write_after_read); \ - } + __dbg_info_merge_sets(&c, 1, ons, SIZ(ons), dbg_write_after_read); \ + } while(0) #define DBG_OPT_TUPLE \ - { \ + do { \ ir_node *ons[3]; \ ons[0] = oldn; \ ons[1] = a; \ ons[2] = n; \ - __dbg_info_merge_sets(&n, 1, ons, 3, dbg_opt_auxnode); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode); \ + } while(0) + #define DBG_OPT_ID \ - { \ + do { \ ir_node *ons[2]; \ ons[0] = oldn; \ ons[1] = n; \ - __dbg_info_merge_sets(&n, 1, ons, 2, dbg_opt_auxnode); \ - } + __dbg_info_merge_sets(&n, 1, ons, SIZ(ons), dbg_opt_auxnode); \ + } while(0)