[flang-commits] [flang] [flang][OpenMP] Lower DO and SIMD variants in metadirectives (PR #210810)

via flang-commits flang-commits at lists.llvm.org
Fri Jul 24 22:55:06 PDT 2026


================
@@ -30,6 +29,52 @@ subroutine test_vendor_no_match()
 #endif
 end subroutine
 
+! An inapplicable variant must not have its clauses lowered.
+! CHECK-LABEL: func.func @_QPtest_inapplicable_assume()
+! CHECK:         fir.call @_FortranAioOutputInteger32
+! CHECK-NOT:     fir.call @_FortranAioOutputInteger32
----------------
MattPD wrote:

This `CHECK-NOT` guards against an I/O call, but the excluded `assume` variant lowers to `llvm.intr.assume`, not an I/O call, and neither `test_unselected_fallback_clause` nor `test_unselected_ranked_clause` has a `CHECK-NOT` at all. So these three tests still pass if the unselected variant's clause is lowered. Would a `! CHECK-NOT: llvm.intr.assume` between the selected-variant check and `return` capture the intended property? The current lowering is correct. This is only about the tests catching a future regression.

https://github.com/llvm/llvm-project/pull/210810


More information about the flang-commits mailing list