Alias Analysis Improvement Patch
Vladimir Makarov
vmakarov@redhat.com
Mon Jun 16 16:24:00 GMT 2003
tm_gccmail@mail.kloo.net wrote:
>
> On Fri, 13 Jun 2003, Vladimir N. Makarov wrote:
>
> > In average gcc with the patch is worse especially for twolf. I think I
> > should search for the reason of degradation in counteraction of scheduler
> > and alias analysis.
> >
> > The compiler is also slower ~25% (890s vs 1140 s) with the new alias
> > analysis on SPECINT2000.
> >
> > I did not check the code size (it is not important for Itanium).
>
> On the ia64, the improved alias analysis might allow the first instruction
> scheduling pass more freedom to move instructions around and similarly
> increase register lifetimes. This would probably show up as increased code
> size as well.
>
> (Although with 128 registers, you're less likely to run into this
> problem...but 128 is still a finite number of registers.)
Here are the numbers for SPECINT2000 for ia64 gcc without and with the
new alias analysis when the 1st insn scheduling is switched off.
164.gzip 1400 384 365* 1400 387
362*
175.vpr 1400 316 443* 1400 318
440*
176.gcc
X X
181.mcf 1800 734 245* 1800 718
251*
186.crafty 1000 223 449* 1000 222
450*
197.parser 1800 518 348* 1800 519
347*
252.eon 1300 499 261* 1300 502
259*
253.perlbmk 1800 381 472* 1800 382
472*
254.gap 1100 337 327* 1100 337
327*
255.vortex 1900 319 597* 1900 319
596*
256.bzip2 1500 393 382* 1500 391
383*
300.twolf 3000 640 469* 3000 641
468*
Est. SPECint_base2000 384
Est. SPECint2000
384
If we compare the numbers with the 1st insn scheduling in my previous
email, the 1st insn scheduling gives 3-5% SPECINT2000 improvement for
ia64. I don't think that if we solve problem of creating a high register
pressure on the 1st insn scheduling, the new alias analysis will improve
the code for ia64 because it does not improve code on the 2nd insn
scheduling.
It does not mean that the new alias analysis is not necessary for ia64.
I think it could work if we increase scope of insn scheduling (which
means writing a new global insn scheduling). Unfortunately, now its
usage is not justified at least for ia64 because there is no improvement
and compiler is much slower.
I am going still to play with the patch and to try to find ways for its
improvement.
Vlad
More information about the Gcc-patches
mailing list