diff options
Diffstat (limited to 'gcc/ddg.c')
-rw-r--r-- | gcc/ddg.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/gcc/ddg.c b/gcc/ddg.c index ada465725cb..b03ab9378f7 100644 --- a/gcc/ddg.c +++ b/gcc/ddg.c @@ -300,19 +300,16 @@ add_cross_iteration_register_deps (ddg_ptr g, df_ref last_def) rtx_insn *def_insn = DF_REF_INSN (last_def); ddg_node_ptr last_def_node = get_node_of_insn (g, def_insn); ddg_node_ptr use_node; -#ifdef ENABLE_CHECKING - struct df_rd_bb_info *bb_info = DF_RD_BB_INFO (g->bb); -#endif df_ref first_def = df_bb_regno_first_def_find (g->bb, regno); gcc_assert (last_def_node); gcc_assert (first_def); -#ifdef ENABLE_CHECKING - if (DF_REF_ID (last_def) != DF_REF_ID (first_def)) - gcc_assert (!bitmap_bit_p (&bb_info->gen, - DF_REF_ID (first_def))); -#endif + if (flag_checking && DF_REF_ID (last_def) != DF_REF_ID (first_def)) + { + struct df_rd_bb_info *bb_info = DF_RD_BB_INFO (g->bb); + gcc_assert (!bitmap_bit_p (&bb_info->gen, DF_REF_ID (first_def))); + } /* Create inter-loop true dependences and anti dependences. */ for (r_use = DF_REF_CHAIN (last_def); r_use != NULL; r_use = r_use->next) @@ -1013,7 +1010,6 @@ order_sccs (ddg_all_sccs_ptr g) (int (*) (const void *, const void *)) compare_sccs); } -#ifdef ENABLE_CHECKING /* Check that every node in SCCS belongs to exactly one strongly connected component and that no element of SCCS is empty. */ static void @@ -1033,7 +1029,6 @@ check_sccs (ddg_all_sccs_ptr sccs, int num_nodes) } sbitmap_free (tmp); } -#endif /* Perform the Strongly Connected Components decomposing algorithm on the DDG and return DDG_ALL_SCCS structure that contains them. */ @@ -1079,9 +1074,10 @@ create_ddg_all_sccs (ddg_ptr g) sbitmap_free (from); sbitmap_free (to); sbitmap_free (scc_nodes); -#ifdef ENABLE_CHECKING - check_sccs (sccs, num_nodes); -#endif + + if (flag_checking) + check_sccs (sccs, num_nodes); + return sccs; } |