This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
A question about DOM
- From: Kazu Hirata <kazu at cs dot umass dot edu>
- To: gcc at gcc dot gnu dot org
- Cc: law at redhat dot com
- Date: Sun, 27 Feb 2005 18:16:09 -0500 (EST)
- Subject: A question about DOM
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