58 lines · plain
1! RUN: %flang_fc1 -emit-llvm -o - %s | FileCheck %s2 3! CHECK-LABEL: unroll_dir4subroutine unroll_dir5 integer :: a(10)6 !dir$ unroll7 ! CHECK: br i1 {{.*}}, label {{.*}}, label {{.*}}8 ! CHECK-NOT: !llvm.loop9 ! CHECK: br label {{.*}}, !llvm.loop ![[UNROLL_ENABLE_FULL_ANNO:.*]]10 do i=1,1011 a(i)=i12 end do13end subroutine unroll_dir14 15! CHECK-LABEL: unroll_dir_016subroutine unroll_dir_017 integer :: a(10)18 !dir$ unroll 019 ! CHECK: br i1 {{.*}}, label {{.*}}, label {{.*}}20 ! CHECK-NOT: !llvm.loop21 ! CHECK: br label {{.*}}, !llvm.loop ![[UNROLL_DISABLE_ANNO:.*]]22 do i=1,1023 a(i)=i24 end do25end subroutine unroll_dir_026 27! CHECK-LABEL: unroll_dir_128subroutine unroll_dir_129 integer :: a(10)30 !dir$ unroll 131 ! CHECK: br i1 {{.*}}, label {{.*}}, label {{.*}}32 ! CHECK-NOT: !llvm.loop33 ! CHECK: br label {{.*}}, !llvm.loop ![[UNROLL_DISABLE_ANNO]]34 do i=1,1035 a(i)=i36 end do37end subroutine unroll_dir_138 39! CHECK-LABEL: unroll_dir_240subroutine unroll_dir_241 integer :: a(10)42 !dir$ unroll 243 ! CHECK: br i1 {{.*}}, label {{.*}}, label {{.*}}44 ! CHECK-NOT: !llvm.loop45 ! CHECK: br label {{.*}}, !llvm.loop ![[UNROLL_ENABLE_COUNT_2:.*]]46 do i=1,1047 a(i)=i48 end do49end subroutine unroll_dir_250 51! CHECK: ![[UNROLL_ENABLE_FULL_ANNO]] = distinct !{![[UNROLL_ENABLE_FULL_ANNO]], ![[UNROLL_ENABLE:.*]], ![[UNROLL_FULL:.*]]}52! CHECK: ![[UNROLL_ENABLE:.*]] = !{!"llvm.loop.unroll.enable"}53! CHECK: ![[UNROLL_FULL:.*]] = !{!"llvm.loop.unroll.full"}54! CHECK: ![[UNROLL_DISABLE_ANNO]] = distinct !{![[UNROLL_DISABLE_ANNO]], ![[UNROLL_DISABLE:.*]]}55! CHECK: ![[UNROLL_DISABLE]] = !{!"llvm.loop.unroll.disable"}56! CHECK: ![[UNROLL_ENABLE_COUNT_2]] = distinct !{![[UNROLL_ENABLE_COUNT_2]], ![[UNROLL_ENABLE]], ![[UNROLL_COUNT_2:.*]]}57! CHECK: ![[UNROLL_COUNT_2]] = !{!"llvm.loop.unroll.count", i32 2}58