X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fia32%2Fia32_dbg_stat.h;h=889a2ee26c33faad82632cc562fa4291555a004a;hb=a1a465eb2b3f54027b29f829423fffd0396937f4;hp=3d246e03d5d93b7458c3533fd32b240f4368ea8d;hpb=aacffd4e4932a994bc3db1018bedfcc44eb667a7;p=libfirm diff --git a/ir/be/ia32/ia32_dbg_stat.h b/ir/be/ia32/ia32_dbg_stat.h index 3d246e03d..889a2ee26 100644 --- a/ir/be/ia32/ia32_dbg_stat.h +++ b/ir/be/ia32/ia32_dbg_stat.h @@ -152,5 +152,62 @@ hook_merge_nodes(NULL, 0, &oldn, 1, FS_BE_IA32_CJMP); \ } while(0) +/** + * A Copy was created to fullfill two address code constraints + * + * @param cpy the copy + */ +#define DBG_OPT_2ADDRCPY(cpy) \ + do { \ + hook_merge_nodes(NULL, 0, &cpy, 1, FS_BE_IA32_2ADDRCPY); \ + } while(0) + +/** + * A Store was created for a Spill + * + * @param spill the Spill + * @param store the Store + */ +#define DBG_OPT_SPILL2ST(spill, store) \ + do { \ + hook_merge_nodes(&store, 1, &spill, 1, FS_BE_IA32_SPILL2ST); \ + __dbg_info_merge_pair(store, spill, dbg_backend); \ + } while(0) + +/** + * A Load was created for a Reload + * + * @param rload the Reload + * @param load the Load + */ +#define DBG_OPT_RELOAD2LD(rload, load) \ + do { \ + hook_merge_nodes(&load, 1, &rload, 1, FS_BE_IA32_RELOAD2LD); \ + __dbg_info_merge_pair(load, rload, dbg_backend); \ + } while(0) + +/** + * A Sub was transformed into Neg-Add due to 2 address code limitations + * + * @param sub the old Sub + * @param nadd the new Add + */ +#define DBG_OPT_SUB2NEGADD(sub, nadd) \ + do { \ + hook_merge_nodes(&nadd, 1, &sub, 1, FS_BE_IA32_SUB2NEGADD); \ + __dbg_info_merge_pair(nadd, sub, dbg_backend); \ + } while(0) + +/** + * A Lea was transformed back into an Add + * + * @param lea the old Lea + * @param nadd the new Add + */ +#define DBG_OPT_LEA2ADD(lea, nadd) \ + do { \ + hook_merge_nodes(&nadd, 1, &lea, 1, FS_BE_IA32_LEA2ADD); \ + __dbg_info_merge_pair(nadd, lea, dbg_backend); \ + } while(0) #endif /* _IA32_DBG_STAT_H_ */