brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · e5e509c Raw
69 lines · plain
1! RUN: %flang_fc1 -emit-llvm -o - %s | FileCheck %s2 3! CHECK-LABEL: unroll_and_jam_dir4subroutine unroll_and_jam_dir5  integer :: a(10)6  !dir$ unroll_and_jam 47  ! CHECK:   br i1 {{.*}}, label {{.*}}, label {{.*}}8  ! CHECK-NOT: !llvm.loop9  ! CHECK:   br label {{.*}}, !llvm.loop ![[ANNOTATION:.*]]10  do i=1,1011     a(i)=i12  end do13end subroutine unroll_and_jam_dir14 15! CHECK-LABEL: unroll_and_jam_dir_016subroutine unroll_and_jam_dir_017  integer :: a(10)18  !dir$ unroll_and_jam 019  ! CHECK:   br i1 {{.*}}, label {{.*}}, label {{.*}}20  ! CHECK-NOT: !llvm.loop21  ! CHECK:   br label {{.*}}, !llvm.loop ![[ANNOTATION_DISABLE:.*]]22  do i=1,1023  a(i)=i24  end do25end subroutine unroll_and_jam_dir_026 27! CHECK-LABEL: unroll_and_jam_dir_128subroutine unroll_and_jam_dir_129  integer :: a(10)30  !dir$ unroll_and_jam 131  ! CHECK:   br i1 {{.*}}, label {{.*}}, label {{.*}}32  ! CHECK-NOT: !llvm.loop33  ! CHECK:   br label {{.*}}, !llvm.loop ![[ANNOTATION_DISABLE]]34  do i=1,1035  a(i)=i36  end do37end subroutine unroll_and_jam_dir_138 39! CHECK-LABEL: nounroll_and_jam_dir40subroutine nounroll_and_jam_dir41  integer :: a(10)42  !dir$ nounroll_and_jam43  ! CHECK:   br i1 {{.*}}, label {{.*}}, label {{.*}}44  ! CHECK-NOT: !llvm.loop45  ! CHECK:   br label {{.*}}, !llvm.loop ![[ANNOTATION_DISABLE]]46  do i=1,1047  a(i)=i48  end do49end subroutine nounroll_and_jam_dir50 51! CHECK-LABEL: unroll_and_jam_dir_no_factor52subroutine unroll_and_jam_dir_no_factor53  integer :: a(10)54  !dir$ unroll_and_jam55  ! CHECK:   br i1 {{.*}}, label {{.*}}, label {{.*}}56  ! CHECK-NOT: !llvm.loop57  ! CHECK:   br label {{.*}}, !llvm.loop ![[ANNOTATION_NO_FACTOR:.*]]58  do i=1,1059  a(i)=i60  end do61end subroutine unroll_and_jam_dir_no_factor62 63! CHECK: ![[ANNOTATION]] = distinct !{![[ANNOTATION]], ![[UNROLL_AND_JAM:.*]], ![[UNROLL_AND_JAM_COUNT:.*]]}64! CHECK: ![[UNROLL_AND_JAM]] = !{!"llvm.loop.unroll_and_jam.enable"}65! CHECK: ![[UNROLL_AND_JAM_COUNT]] = !{!"llvm.loop.unroll_and_jam.count", i32 4}66! CHECK: ![[ANNOTATION_DISABLE]] = distinct !{![[ANNOTATION_DISABLE]], ![[UNROLL_AND_JAM2:.*]]}67! CHECK: ![[UNROLL_AND_JAM2]] = !{!"llvm.loop.unroll_and_jam.disable"}68! CHECK: ![[ANNOTATION_NO_FACTOR]] = distinct !{![[ANNOTATION_NO_FACTOR]], ![[UNROLL_AND_JAM]]}69