high level loop optimizations in gcc-4.1.2

Daniel Berlin dberlin@dberlin.org
Fri Aug 17 00:29:00 GMT 2007


On 8/15/07, ranjith kumar <ranjit_kumar_b4u@yahoo.co.uk> wrote:
> Hi,
>      I know that linear loop transformations on tree
> representation can be enabled by -ftree-loop-linear
> flag.
>
> It is said that these transformations include
> loop-interchange, reversal,skewing,scaling.
> These transformations are done by apllying different
> transformation matrices. For example for
> loop-interchange transfomation matrix is (0 1)
>                                          (1 0)
>
> 1)Where can I find example programs for which
> gcc-4.1.2 can do these transformations.
ltrans-* in the testsuite

>
> 2) I have had a look at internal files. It seems that
> gcc-4.1.2 can do only loop-interchange only.
> Am I right?
>
No.
It can do the others, but nothing *asks it to*.
This is very different than not being able to do it.

> 3)If gcc-4.1.2 can do other transformations, what are
> they? and how gcc-4.1.2 selects which particular
> transformation matrix to apply??( Gcc can apply any
> integer non-singular matrix theoretically.)

tree-loop-linear has code to try to figure out a good matrix, but as
you said, it only currenly decides to do interchanges.

(4.2 or 4.3 has better code here, but it still only chooses
interchange matrices)



More information about the Gcc-help mailing list