brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · a9f6e1d Raw
48 lines · plain
1! RUN: %flang_fc1 -emit-hlfir -o - %s | FileCheck %s2 3! CHECK: #loop_unroll_and_jam = #llvm.loop_unroll_and_jam<disable = false>4! CHECK: #loop_unroll_and_jam1 = #llvm.loop_unroll_and_jam<disable = false, count = 2 : i64>5! CHECK: #loop_unroll_and_jam2 = #llvm.loop_unroll_and_jam<disable = true>6! CHECK: #loop_annotation = #llvm.loop_annotation<unrollAndJam = #loop_unroll_and_jam>7! CHECK: #loop_annotation1 = #llvm.loop_annotation<unrollAndJam = #loop_unroll_and_jam1>8! CHECK: #loop_annotation2 = #llvm.loop_annotation<unrollAndJam = #loop_unroll_and_jam2>9 10! CHECK-LABEL: unroll_and_jam_dir11subroutine unroll_and_jam_dir12  integer :: a(10)13  !dir$ unroll_and_jam14  !CHECK: fir.do_loop {{.*}} attributes {loopAnnotation = #loop_annotation}15  do i=1,1016     a(i)=i17  end do18 19  !dir$ unroll_and_jam 220  !CHECK: fir.do_loop {{.*}} attributes {loopAnnotation = #loop_annotation1}21  do i=1,1022     a(i)=i23  end do24end subroutine unroll_and_jam_dir25 26 27! CHECK-LABEL: intermediate_directive28subroutine intermediate_directive29  integer :: a(10)30  !dir$ unroll_and_jam31  !dir$ unknown32  !CHECK: fir.do_loop {{.*}} attributes {loopAnnotation = #loop_annotation}33  do i=1,1034     a(i)=i35  end do36end subroutine intermediate_directive37 38 39! CHECK-LABEL: nounroll_and_jam_dir40subroutine nounroll_and_jam_dir41  integer :: a(10)42  !dir$ nounroll_and_jam43  !CHECK: fir.do_loop {{.*}} attributes {loopAnnotation = #loop_annotation2}44  do i=1,1045     a(i)=i46  end do47end subroutine nounroll_and_jam_dir48