This is the mail archive of the gcc@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]

Draft: 12 Jan 06 notes from GCC improvement for Itanium conference call


ON THE CALL: Shin-ming Liu (HP), Vladimir Makarov (Red Hat), Diego
Novillo (Red Hat), Mark Smith (Gelato), Bob Kidd (UIUC), Andrey
Belevantsev (RAS), Arutyun Avetisyan (RAS) 

Dan Berlin (IBM) was not able to join the call but did email an
aliasing update (see below).

We spent some time up front discussing the GCC track at the upcoming
Gelato ICE conference (www.gelato.org/meeting). Potential topics and
speaker candidates include:

1) Parallel programming with GCC - Diego Novillo
2) Aliasing - Diego Novillo or Dan Berlin (Diego to coordinate with
Dan)
3) LLVM - Chris Lattner? (Mark will approach Chris)
4) LTO - Mark Mitchell? (Shin-ming will approach Mark M.)
5) ORC back end for GCC - Shin-Ming Liu
6) Superblock work - Bob Kidd
7) GCC IP issues - Dan Berlin? (Diego will ask Dan)
8) NUDT update - Canqun Yang? (Mark will approach Canqun)
9) RAS update - Andrey Belevantsev and Arutyun Avetisyan 
10) Intel micro-architecture talk - Cameron McNairy 

Also we discussed holding a face-to-face GCC Improvement meeting in
mid August in Moscow. Expected benefits: strong participation from
Europe GCC community, Intel Moscow, and RAS.

Updates from call participants can be found below.


NEXT MEETING: Feb 16th, 2006. Details will be emailed out prior to the
call.

Dan Berlin:
-----------
Update on aliasing:

Improvements to the actual points-to analyzer from the
improved-aliasing-branch of gcc have been merged into mainline.

This includes:

1. An initial implementation of interprocedural pointer analysis
(though this is disabled by default for the moment until i finish some
follow up patches).
2. Significantly better results for pointers inside structures.
3. Not punting on structures that contain arrays (we used to treat all
the fields like a single variable).

There is work by Richard Guenther on treating small arrays as if they
were structures so we can get better information about them (without
resorting to pair based querying).

Work on the aliasing query system for those optimizations that want to
disambiguate results for specific stores/loads better than we do now
will start soon on IAB.

Call clobbering changes from IAB are in the process of being merged
into the mainline.

This mainly consists of much better non-context sensitive
intraprocedural call clobbering information, combined with better use
of the interprocedural clobber information for static variables that
we compute.

Once the aliasing query system is done, i will revisit this and
implement some context-sensitive analysis for call clobbering to get
better results.

I also reviewed the patch for propagating points-to sets to RTL, and
sent the review to the list.

Andrey Belevantsev:
-------------------
Dan Berlin has reviewed the alias propagation patch about two weeks
ago. Diego mentioned that his concerns about the patch are in line
with Dan's. I had a chance to read the review only recently due to the
mail problems of our provider. Dan has pointed out to the
implementation flaw of the patch, which is using varrays for storing
points-to sets instead of bitmaps. This should be fixed to avoid
memory and compilation time issues. There are some other less serious
issues and the coding style issues. We are going to fix all problems
pointed to by Dan and resend the patch.

We've sent five parts of the speculation patch to the gcc-patches
list, and Vladimir Makarov has taken them for the review. Some issues
were already raised in the list, mentioning documentation issues and
the effects of the patch for the other platforms. For the x86-64, the
influence of the patch is pretty neutral. We're going to address the
issues Vlad would probably raise in his review and then resend the
patch.

We're advancing in the implementation of the new scheduler. We're
working on the code motion part, which fixes the scheduling DAG and
the data sets after the selected insruction has been scheduled. Part
of those is already implemented and under testing. Another part we're
starting to work on is the selection of the best instruction for
scheduling from the set of available ones. We plan to adopt the
corresponding routines from the haifa scheduler.

Bob Kidd:
---------
The Superblock formation pass now duplicates the loop header to allow
Superblock loops to be unrolled.  On a trivial test case, this
improves performance on x86_64 and PPC.  I'm currently benchmarking
the patch on SPEC.

Vladimir Makarov:
-----------------
I am working on review of ISP RAS patch for control and data
specualtion support.  In general the patch is ok. As for idea of
gelato meeting devoted to gcc in Moscow, that is a not bad place
because gcc developers from Europe could be there. But probably time
(August) is not so good.

Diego Novillo:
--------------
I briefly described the OpenMP implementation and what it requires in
terms of runtime support.  It is now being merged into mainline to be
released with GCC 4.2.  The Fedora Core GCC 4.1 compiler will also
include it.

It should work well on Itanium systems running Linux.  We'll be
publishing SPEC-OMP results shortly.


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