brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · cbd1e79 Raw
97 lines · plain
1! RUN: %flang_fc1 -fdebug-dump-pft %s 2>&1 | FileCheck %s2 3! Note: PFT dump output is fairly stable, including node indexes and4!       annotations, so all output is CHECKed.5 6  ! CHECK: 1 Program <anonymous>7  ! CHECK:   1 PrintStmt: print*8  print*9 10  ! CHECK:   <<DoConstruct>> -> 811  ! CHECK:     2 NonLabelDoStmt -> 7: do i = 1, 512  ! CHECK:     <<IfConstruct>> -> 713  ! CHECK:       3 ^IfStmt [negate] -> 7: if(i <= 1 .or. i >= 5) cycle14  ! CHECK:       6 ^PrintStmt: print*, i15  ! CHECK:       5 EndIfStmt16  ! CHECK:     <<End IfConstruct>>17  ! CHECK:     7 EndDoStmt -> 2: end do18  ! CHECK:   <<End DoConstruct>>19  do i = 1, 520     if (i <= 1 .or. i >= 5) cycle21     print*, i22  end do23 24  ! CHECK:   8 PrintStmt: print*25  print*26 27  ! CHECK:   <<DoConstruct>> -> 1528  ! CHECK:     9 NonLabelDoStmt -> 14: do i = 1, 529  ! CHECK:     <<IfConstruct>> -> 1430  ! CHECK:       10 ^IfStmt [negate] -> 14: if(i <= 1 .or. i >= 5) cycle31  ! CHECK:       13 ^PrintStmt: print*, i32  ! CHECK:       12 EndIfStmt33  ! CHECK:     <<End IfConstruct>>34  ! CHECK:     14 EndDoStmt -> 9: 2 end do35  ! CHECK:   <<End DoConstruct>>36  do i = 1, 537     if (i <= 1 .or. i >= 5) cycle38     print*, i392 end do40 41  ! CHECK:   15 PrintStmt: print*42  print*43 44  ! CHECK:<<DoConstruct!>> -> 3045  ! CHECK:  16 NonLabelDoStmt -> 29: outer: do i = 1, 346  ! CHECK:  <<DoConstruct!>> -> 2947  ! CHECK:    17 ^NonLabelDoStmt -> 28: inner: do j = 1, 548  ! CHECK:    <<IfConstruct!>> -> 2849  ! CHECK:      18 ^IfStmt [negate] -> 28: if(j <= 1 .or. j >= 5) cycle inner50  ! CHECK:      <<IfConstruct!>> -> 2851  ! CHECK:        21 ^IfStmt [negate] -> 28: if(j == 3) goto 352  ! CHECK:        <<IfConstruct!>> -> 2753  ! CHECK:          24 ^IfStmt -> 27: if(j == 4) cycle outer54  ! CHECK:          25 ^CycleStmt! -> 29: cycle outer55  ! CHECK:          26 EndIfStmt56  ! CHECK:        <<End IfConstruct!>>57  ! CHECK:        27 ^PrintStmt: print*, j58  ! CHECK:        23 EndIfStmt59  ! CHECK:      <<End IfConstruct!>>60  ! CHECK:      20 EndIfStmt61  ! CHECK:    <<End IfConstruct!>>62  ! CHECK:    28 ^EndDoStmt -> 17: 3 end do inner63  ! CHECK:  <<End DoConstruct!>>64  ! CHECK:  29 ^EndDoStmt -> 16: end do outer65  ! CHECK:<<End DoConstruct!>>66  outer: do i = 1, 367    inner: do j = 1, 568             if (j <= 1 .or. j >= 5) cycle inner69             if (j == 3) goto 370             if (j == 4) cycle outer71             print*, j72  3        end do inner73         end do outer74 75  ! CHECK:   30 ^PrintStmt: print*76  print*77 78  ! CHECK:<<DoConstruct>> -> 4079  ! CHECK:  31 NonLabelDoStmt -> 39: do i = 1, 580  ! CHECK:  <<IfConstruct>> -> 3981  ! CHECK:    32 ^IfStmt [negate] -> 39: if(i == 3) goto 482  ! CHECK:    <<IfConstruct>> -> 3983  ! CHECK:      35 ^IfStmt [negate] -> 39: if(i <= 1 .or. i >= 5) cycle84  ! CHECK:      38 ^PrintStmt: print*, i85  ! CHECK:      37 EndIfStmt86  ! CHECK:    <<End IfConstruct>>87  ! CHECK:    34 EndIfStmt88  ! CHECK:  <<End IfConstruct>>89  ! CHECK:  39 EndDoStmt -> 31: 4 end do90  ! CHECK:<<End DoConstruct>>91  do i = 1, 592     if (i == 3) goto 493     if (i <= 1 .or. i >= 5) cycle94     print*, i954 end do96end97