This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On 07/29/2010 06:19 PM, Paolo Bonzini wrote:I'd like to have a note to the reader that df_analyze is only invoked when you do crossjumping. Please add an assert like
if (block_was_dirty) { gcc_assert (mode & CLEANUP_CROSSJUMP); df_analyze (); }
Can do.
We do not use dataflow otherwise, and it is not necessary to call it gratuitously. Passes know that CFG cleanup destroys dataflow and call it themselves if necessary.
Then again, we probably won't lose much by calling df_analyze during cfgcleanup if the following pass needs it anyway - right?
Second, crossjumping is now more expensive. Does it buy much really to iterate it? Something like
mode &= ~CLEANUP_CROSSJUMP;
just before iterating may still leave it "good enough".
A quick experiment shows that this causes many missed opportunities. (Placed it after the run_fast_dce call).
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |