Graphite branch contains a lot of useful new features, that we want to integrate into gcc 4.5. The main aim of the current development was to set the base for future work on the pure polytop model. So since January 2008 we completed the polytop description and removed any dependencies to non polytop analysis like e.g. the lambda dependency checking. This also lead to the (temporary) removal of unclean features. However during the last weeks rapid progress was made to introduce them again. This time backed up by a clean model.

As we cut all connections to GIMPLE to develop our optimizations on the pure polytop model, integrating Graphite into 4.5 is a (almost) all or nothing decision. To merge branch into 4.5 we want to be at least on par with the features of graphite 4.4.

On this page progress is tracked.

Analysis

Feature

4.4

4.5

Comment

Done?

Fortran code

no

yes

We did not handle "!=" conditions and therefore no Fortran loops

Yes

dependency analysis

lambda based

polytop based

basic version ready

Yes

Allow reductions

n/a

yes

Yes

Optimizations

Feature

4.4

4.5

Comment

Done?

-floop-block

limited, lambda based version

polytop based

Yes

-floop-interchange

n/a

polytop based

Yes

-floop-strip-mine

n/a

polytop based

Yes

Automatic parallelization

n/a

first steps

Very simple single loops without any dependencies. This does not give us a lot of performance improvements.

Yes

Coverage

Feature

4.4

4.5

Comment

Done?

Compile and run SPEC 2006

working

working

Yes

Regressions in GCC testsuite

none

none

Yes

Bootstrap GCC

working

working

Yes

Libraries

Feature

4.4

4.5

Comment

Done?

Cloog Version

CLooG PPL 0.15

CLooG PPL 0.15

The switch to CLooG trunk will be done in GCC 4.6

Planned for 4.6

None: Graphite/4.5 (last edited 2010-03-10 17:17:08 by 163)