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]

Re: PATCH: Use edge probabilities in interblock and ebb schedulers


Maxim Kuvyrkov wrote:

Hi,

As it seems that patch by Peter Steinmetz was never applied, here is its
fixed version (we could have got division by zero in sched-rgn.c:
compute_trg_info() if probability of a parent block is zero).

This is the link to the original patch:
http://gcc.gnu.org/ml/gcc-patches/2005-09/msg00370.html

Also, please find attached patch that similarly computes basic block
probability information in sched-ebb.c.  Currently it is possible
that CFG has wrong values in bb->frequency fields of some basic blocks.
The proposed patch calculates basic block frequencies for each EBB
separately relying on edge probabilities information. It does not
correct frequency values in CFG.

Could you be more specific what is wong with bb->frequency.


Even if you found wrong values of bb->frequency, it should be fixed in the first place not in just one place.

So you should use bb->frequency in the patch even if their values are wrong and you can not fix them in the 1st place or you have no time for this.

Send me the modified patch and I approve it. And please do not forget comments for new static variables (and functions although in the modified patch there will be no new functions).


SPECCPU2000 shows 2 improvements when compiled with gcc -O2 with both of these patches: 181.mcf: +4.19%, 188.ammp: 11.37%. And several regressions: 197.parser: -1.25%, 300.twolf: -1.67%, 179.art: -1.41%. But still, the patches do more good than bad: SPECint_base: +0.14%, SPECfp_base: +0.72%.

Both patches were bootstraped and regtested on ia64-unknown-linux-gnu on
mainline weekly snapshot 20060107 (as all later snapshots, including
trunk, fail to compile because of libgomp).







Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]