X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firopt_dbg.h;h=9f64a7c5129eecdeca4b5525935134d4cb9682cd;hb=e570f00fb465d212dde403160e97ab45d36d1d7e;hp=680d90dce43cc0683ee67ee3666b8c1cec48d507;hpb=63f328f1bf853445ccefdac1c9b43881940f07ac;p=libfirm diff --git a/ir/ir/iropt_dbg.h b/ir/ir/iropt_dbg.h index 680d90dce..9f64a7c51 100644 --- a/ir/ir/iropt_dbg.h +++ b/ir/ir/iropt_dbg.h @@ -1,16 +1,35 @@ +/* + * Project: libFIRM + * File name: ir/ir/iropt_dbg.h + * Purpose: Debug makros used in iropt. + * Author: Goetz Lindenmaier + * Modified by: + * Created: + * CVS-ID: $Id$ + * Copyright: (c) 2001-2003 Universität Karlsruhe + * Licence: This file protected by GPL - GNU GENERAL PUBLIC LICENSE. + */ /* This file contains makros that generate the calls to update the debug information after a transformation. */ +#define SIZ(x) sizeof(x)/sizeof((x)[0]) + +/** + * Merge the debug info due to a straightening optimization + */ #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) +/** + * Merge the debug info due to an if simplification + */ #define DBG_OPT_IFSIM \ do { \ ir_node *ons[4]; \ @@ -18,16 +37,19 @@ 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) +/** + * Merge the debug info due to an algebraic_simplification + */ #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 \ @@ -35,8 +57,8 @@ 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 \ @@ -44,7 +66,7 @@ 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 \ @@ -52,7 +74,7 @@ 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) @@ -61,7 +83,7 @@ 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 \ @@ -69,7 +91,7 @@ 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 \ @@ -78,7 +100,7 @@ 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 \ @@ -86,5 +108,5 @@ 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)