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

Reply via email to