Hi, Consider the following code from tree-ssa-dom.c:tree_ssa_dominator_optimize.
/* Thread jumps, creating duplicate blocks as needed. */ cfg_altered = thread_through_all_blocks (); /* Removal of statements may make some EH edges dead. Purge such edges from the CFG as needed. */ if (!bitmap_empty_p (need_eh_cleanup)) { cfg_altered |= tree_purge_all_dead_eh_edges (need_eh_cleanup); bitmap_zero (need_eh_cleanup); } free_dominance_info (CDI_DOMINATORS); cfg_altered = cleanup_tree_cfg (); calculate_dominance_info (CDI_DOMINATORS); Notice that we have three assignments to cfg_altered, but the last one kills the two previous assignments. Should the last one be |=? Kazu Hirata