! Test that $dir loop directives (known or unknown) are not clashing ! with $acc lowering. ! RUN: %flang_fc1 -fopenacc -emit-hlfir %s -o - | FileCheck %s subroutine test_before_acc_loop(a, b, c) real, dimension(10) :: a,b,c !dir$ myloop_directive_1 !dir$ myloop_directive_2 !$acc loop do i=1,N a(i) = b(i) + c(i) enddo end subroutine ! CHECK-LABEL: test_before_acc_loop ! CHECK: acc.loop subroutine test_after_acc_loop(a, b, c) real, dimension(10) :: a,b,c !$acc loop !dir$ myloop_directive_1 !dir$ myloop_directive_2 do i=1,N a(i) = b(i) + c(i) enddo end subroutine ! CHECK-LABEL: test_after_acc_loop ! CHECK: acc.loop subroutine test_before_acc_combined(a, b, c) real, dimension(10) :: a,b,c !dir$ myloop_directive_1 !dir$ myloop_directive_2 !$acc parallel loop do i=1,N a(i) = b(i) + c(i) enddo end subroutine ! CHECK-LABEL: test_before_acc_combined ! CHECK: acc.parallel combined(loop) subroutine test_after_acc_combined(a, b, c) real, dimension(10) :: a,b,c !$acc parallel loop !dir$ myloop_directive_1 !dir$ myloop_directive_2 do i=1,N a(i) = b(i) + c(i) enddo end subroutine ! CHECK-LABEL: test_after_acc_combined ! CHECK: acc.parallel combined(loop) subroutine test_vector_always_after_acc(a, b, c) real, dimension(10) :: a,b,c !$acc loop !dir$ vector always do i=1,N a(i) = b(i) + c(i) enddo end subroutine ! CHECK-LABEL: test_vector_always_after_acc ! CHECK: acc.loop subroutine test_vector_always_before_acc(a, b, c) real, dimension(10) :: a,b,c !dir$ vector always !$acc loop do i=1,N a(i) = b(i) + c(i) enddo end subroutine ! CHECK-LABEL: test_vector_always_before_acc ! CHECK: acc.loop