This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: A question about DOM
- From: Jeffrey A Law <law at redhat dot com>
- To: Kazu Hirata <kazu at cs dot umass dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Mon, 28 Feb 2005 09:37:35 -0700
- Subject: Re: A question about DOM
- Organization: Red Hat, Inc
- References: <20050227.181609.78707003.kazu@cs.umass.edu>
- Reply-to: law at redhat dot com
On Sun, 2005-02-27 at 18:16 -0500, Kazu Hirata wrote:
> 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 |=?
All of them should be |=. I haven't changed that for 4.0 because it
will introduce compile-time regressions.
jeff