ON THE CALL: Kenny Zadack (Natural Bridge), Diego Novillo (Red Hat),
Vladimir Makarov (Red Hat), Mark Smith (Gelato), Bob Kidd (UIUC),
Andrey Belevantsev (RAS), Arutyun Avetisyan (RAS), Mark Davis (Intel),
Sebastian Pop (Ecole des Mines de Paris)

Agenda:
1) Gelato ICE April GCC track proposed content (Mark S.)
2) GCC4.2 & GCC 4.3 update, alias analysis update (Diego)
3) Scheduler work update, potential new software pipelining project
(Andrey)
4) LTO update (Kenny)
5) Superblock work update (Bob)

##################
1) Gelato ICE April GCC track proposed content (Mark S.)

The content for the GCC track at the upcoming Gelato ICE San Jose
(April 15-18) conference was proposed (still need to confirm with
several speakers):

 - ISP-Russian Academy of Sciences: update on scheduler work, discuss
progress on new software pipelining work
 - Martin Michlmayr: compiling Debian using GCC 4.2 and Osprey
 - Shin-ming Liu: HP GCC and Osprey update
 - Kenny Zadack - update on LTO
 - Bob Kidd - update on superblock work
 - Zdenek Dvorak - update on prefetching work
 - Diego Novillo - update on alias analysis work
 - Matthieu Delahaye - update on Gelato GCC build farm
 - Dan Berlin - GPL2 and GPL3 presentation

##################
2) GCC4.2 & GCC 4.3 update, alias analysis update (Diego)

GCC 4.2 & 4.3 update:
---------------------
4.2 has branched.  Likely release in early 2007.

Many major pieces of work being scheduled for GCC 4.3 (SSA across the
callgraph, overhaul dataflow in the backend, overhaul SSA form for
memory, reduce memory footprint in the IL, autoparallelization, new
vectorization, new interprocedural optimizations, etc).

The full list is at http://gcc.gnu.org/wiki/GCC_4.3_Release_Planning

Alias analysis update: 
----------------------
no changes to analysis, representation of aliasing is being modified
for 4.3

##################
3) Scheduler work update, potential new software pipelining project
(Andrey)

We have merged all major features of selective scheduling and are
tuning it for Itanium.  We use a set of small benchmarks to analyze
the performance of the scheduler. At this moment we are neutral on
half of the benchmarks, we get 3% speedup on linpack and 5% speedup on
mgrid. We have fixed all of >1% regressions except dhrystone, which
regresses on 4% due to alignment issues. Major part of the bugs we've
fixed is because bundling and instruction choosing mechanism are
tightly coupled with the Haifa scheduler, and we need to support both
schedulers at the same time. We plan to proceed with tuning and
implement the driver for software pipelining for the next month.

We also plan to fix swing modulo scheduling to make it work on ia64
and improve it by propagating data dependency information to RTL. We
plan to discuss this project on the GCC mailing list in a few weeks.

Comments by Vladimir:
---------------------
About software pipelining for Itanium: It is completely broken, more
accurately it never worked for Itanium. Because it is very (probably
most) important optimization for Itanium, after making SP working it
should be switched on by default at least for Itanium to keep it
working.  GCC has a lot of optimizations which are not on by default
and they have tendency to be broken sometime.

About insn bundling and insn scheduler hooks for Itanium:  Usually
the scheduler hooks are very few lines.  This is not case for
Itanium.I believe there is a potential for generating better quality
code by improving bundling and hooks.  Unfortunately, the code is
"spaghetti" code which is hard to understand.

##################
4) LTO update (Kenny)

The LTO branch has made some progress: there is work underway by Mark
Mitchell, Sandra Loosemore, and myself to serialize three codes and
the declarations and types into sections inside the .o files.  I have
stopped working on this temporarily while I complete the work on the
dataflow branch. 

I expect that after the first of the year there will be a lot of
progress on this.  We should soon be able to serialize code and
compile it at link time.  This will still leave many problems open for
other to help with, including more aggressive optimizations, as well
as providing some mechanism to distributing/parallelizing the
compilation.

##################
5) Superblock work update (Bob)

I'm merging mainline into the ia64-improvements branch. As soon as
that is finished, I will run a regression on the Superblock pass and
prepare a patch to submit to gcc-patches. This work has been on the
back burner for the past couple weeks due to an upcoming paper
deadline.

I'm writing a paper documenting the changes we made to IMPACT's
intermediate representation to allow interprocedural analysis to be
performed more easily. We were able to extend IMPACT's IR from one
stored completely in memory to one that can be stored partially in
memory and partially on disk. This allows us to reduce the memory
requirements for the compiler when processing modern, large program.
This paper will likely be of interest to those working on whole
program analysis and link time optimization in GCC. We will submit
this paper for publication in the next week.

Reply via email to