9.1.8 Transformed Program Listing (T)

The following example shows the annotated transformed program in the listing file. Much of this information is always recorded in the transformed code file regardless of whether the user specifies /listoptions=t .

 KAP/Digital_VMS_F V3.1 k271625 970317 ATIMESB Transformed 05-Apr-1997 13:22:10
 Page   1

 Footnotes   Actions    DO        Line
                        Loops
                                   1
                                   2 C Simple Matrix Multiply example.
                                   3
                                   4  PROGRAM ATIMESB
                                   5
                                   6    PARAMETER M = 200, N = 300, P = 200
                                   7
                                   8    DIMENSION A(1:200,1:300), B(1:300,1:200), C(1:200,1:200)
            I                      8    INTEGER II2, II1
            I                      8    PARAMETER (II2 = 300, II1 = 200)
                                   9
                                  10
                                  11 C Initialize the matrices
                                  12
1           LM             +------13    DO 2 J=1,300
2           LM INF         !+-----14      DO 2 I=1,200
                           !!     15        A(I,J) = 1.5
            I              !!_____16 2      CONTINUE
                                  17
1           LM             +------18    DO 3 J=1,200
2           LM INF         !+-----19      DO 3 I=1,300
                           !!     20        B(I,J) = 3.0
            I              !!_____21 3      CONTINUE
                                  22
                                  23 C Compute C = A * B
                                  24
            SO                    25    CALL MATMUL (A,(II1),B,(II2),C,(II1))
                                  26  END

 Abbreviations Used
  LM       label modification
  SO       scalar optimization
  I        inserted
  INF      informational

 Footnote List
   1: not vectorized   Not an inner loop.
   2: informational    Unrolling of this loop was not done because heuristic
                       says size is ok as is.
KAP/Digital_VMS_F  V3.1 k271625 970317  MATMUL Transformed 05-Apr-1997 13:22:10

 Footnotes Actions DO Loops    Line

                                  27
                                  28
                                  29  SUBROUTINE MATMUL (A, LDA, B, LDB, C, LL )
                                  30    REAL A(LDA,LDB), B(LDB,LL), C(LDA,LL)
                                  31    INTEGER LDA, LDB, LL
            I                     31    INTEGER II17, II16
            I                     31    PARAMETER (II17 = 25, II16 = 1)
            I                           INTEGER II1,II2,II3,II4,II5,II6,II7,II8
                                     X     ,II9,II10,II11, II12,II13,II14,II15
            I                           REAL RR1
            I                     33    II1 = MOD (LL - II16, II17) + II16
            I                     36    II5 = MOD (LDB - II16, II17) + II16
            I                     34    II9 = MOD (LDA - II16, II17) + II16
                                  32
1           LM          +---------33    DO 2 J=1,LL
2           LM INF      !+--------34      DO 2 I=1,LDA
                        !!        35        C(I,J) = 0.
            I           !!________38 2      CONTINUE
            I                     33    II3 = II16
            I                     33    II2 = II1
3 4 5       I NO SO     +---------33    DO 7 II4=II16,LL,II17
            I           !         36      II7 = II16
            I           !         36      II6 = II5
            I           !         36      II15 = II3 + II2 - II16
3 4 5       I NO SO     !+--------36      DO 6 II8=II16,LDB,II17
            I           !!        34        II11 = II16
            I           !!        34        II10 = II9
            I           !!        34        II13 = II7 + II6 - II16
3 4 5       I NO SO     !!+-------34        DO 5 II12=II16,LDA,II17
                        !!!       32
            I           !!!       33          II14 = II11 + II10 - II16
6           LM SO       !!!+------33          DO 4 J=II3,II15,II16
6           LM LR SO    !!!!+-----34            DO 4 I=II11,II14,II16
            I           !!!!!     34              RR1 = C(I,J)
2 6         LM LR SO INF!!!!!+----36              DO 3 K=II7,II13,II16
7                       !!!!!!    37                RR1 = RR1+(A(I,K) * B(K,J))
            I           !!!!!!____38 3              CONTINUE
            I           !!!!!     38              C(I,J) = RR1
            I           !!!!!_____38 4            CONTINUE
            I           !!!       38          II11 = II11 + II10
            I           !!!       38          II10 = II17
            I           !!!_______38 5        CONTINUE
            I           !!        38        II7 = II7 + II6
            I           !!        38        II6 = II17
            I           !!________38 6      CONTINUE
            I           !         38      II3 = II3 + II2
            I           !         38      II2 = II17
            I           !_________38 7    CONTINUE
                                  39
                                  40    RETURN
                                  41
                                  42   END

 Abbreviations Used
  LM       label modification
  NO       not optimized
  LR       loop reordering
  SO       scalar optimization
  I        inserted
  INF      informational

 Footnote List
   1: not vectorized       Not an inner loop.
   2: informational        Unrolling of this loop was not done because
                           heuristic says size is ok as is.
   3: inserted             DO loop was inserted here.
   4: scalar optimization  Block loop for strip mining with block size 25.
   5: not optimized        Loop was asserted serial by directive.
   6: scalar optimization  Strip loop for strip mining with block size 25.
   7: data dependence      Data dependence involving this line due to variable C.


Previous Page | Next Page | Contents | Index |
Command-Line Qualifiers