[flang-commits] [flang] Mark test in optimization-remark.f90 as UNSUPPORTED on RISC-V (PR #157036)
via flang-commits
flang-commits at lists.llvm.org
Mon Sep 8 06:32:05 PDT 2025
https://github.com/julianmorillo updated https://github.com/llvm/llvm-project/pull/157036
>From d2426dd867a69f3de26481f531abb03f72952613 Mon Sep 17 00:00:00 2001
From: Julian Morillo <julian.morillo at bsc.es>
Date: Fri, 5 Sep 2025 09:33:49 +0200
Subject: [PATCH 1/3] Make test in optimization-remark.f90 more tolerant
---
flang/test/Driver/optimization-remark.f90 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/flang/test/Driver/optimization-remark.f90 b/flang/test/Driver/optimization-remark.f90
index 90e310d36c807..dd211f7c8c4fd 100644
--- a/flang/test/Driver/optimization-remark.f90
+++ b/flang/test/Driver/optimization-remark.f90
@@ -19,7 +19,7 @@
! RUN: %flang %s -O2 -Rpass=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=PASS-REGEX-LOOP-ONLY
! Check valid -Rpass-missed regex
-! RUN: %flang %s -O2 -Rpass-missed=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=MISSED-REGEX-LOOP-ONLY
+! RUN: %flang %s -O2 -Rpass-missed=loop -S %{output} 2>&1 | FileCheck %s --allow-empty --check-prefix=MISSED-REGEX-LOOP-ONLY
! Check valid -Rpass-analysis regex
! RUN: %flang %s -O2 -Rpass-analysis=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=ANALYSIS-REGEX-LOOP-ONLY
>From 5ecbf9267688dff5e854b7f60668d57eadd31af2 Mon Sep 17 00:00:00 2001
From: Julian Morillo <julian.morillo at bsc.es>
Date: Fri, 5 Sep 2025 17:34:42 +0200
Subject: [PATCH 2/3] Mark the test as UNSUPPORTED on RISC-V instead of using
--allow-empty
---
flang/test/Driver/optimization-remark.f90 | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/flang/test/Driver/optimization-remark.f90 b/flang/test/Driver/optimization-remark.f90
index dd211f7c8c4fd..e497615caf96c 100644
--- a/flang/test/Driver/optimization-remark.f90
+++ b/flang/test/Driver/optimization-remark.f90
@@ -19,7 +19,8 @@
! RUN: %flang %s -O2 -Rpass=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=PASS-REGEX-LOOP-ONLY
! Check valid -Rpass-missed regex
-! RUN: %flang %s -O2 -Rpass-missed=loop -S %{output} 2>&1 | FileCheck %s --allow-empty --check-prefix=MISSED-REGEX-LOOP-ONLY
+! UNSUPPORTED: target=riscv{{.*}}
+! RUN: %flang %s -O2 -Rpass-missed=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=MISSED-REGEX-LOOP-ONLY
! Check valid -Rpass-analysis regex
! RUN: %flang %s -O2 -Rpass-analysis=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=ANALYSIS-REGEX-LOOP-ONLY
>From d1047a1766f4fbcc4d71f071270dd28623e4b61c Mon Sep 17 00:00:00 2001
From: Julian Morillo <julian.morillo at bsc.es>
Date: Mon, 8 Sep 2025 15:30:45 +0200
Subject: [PATCH 3/3] Increase by one all line numbers in the patterns as we
have added a line to the file
---
flang/test/Driver/optimization-remark.f90 | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/flang/test/Driver/optimization-remark.f90 b/flang/test/Driver/optimization-remark.f90
index e497615caf96c..92b3bd8ba2081 100644
--- a/flang/test/Driver/optimization-remark.f90
+++ b/flang/test/Driver/optimization-remark.f90
@@ -41,24 +41,24 @@
! With plain -Rpass, -Rpass-missed or -Rpass-analysis, we expect remarks related to 2 opportunities (loop vectorisation / loop delete and load hoisting).
! Once we start filtering, this is reduced to 1 one of the loop passes.
-! PASS-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:77:7: remark: hoisting load [-Rpass=licm]
-! PASS-REGEX-LOOP-ONLY: optimization-remark.f90:79:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete]
+! PASS-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:78:7: remark: hoisting load [-Rpass=licm]
+! PASS-REGEX-LOOP-ONLY: optimization-remark.f90:80:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete]
-! MISSED-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:77:7: remark: failed to hoist load with loop-invariant address because load is conditionally executed [-Rpass-missed=licm]
-! MISSED-REGEX-LOOP-ONLY: optimization-remark.f90:72:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize]
+! MISSED-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:78:7: remark: failed to hoist load with loop-invariant address because load is conditionally executed [-Rpass-missed=licm]
+! MISSED-REGEX-LOOP-ONLY: optimization-remark.f90:73:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize]
-! ANALYSIS-REGEX-LOOP-ONLY: optimization-remark.f90:74:7: remark: loop not vectorized: unsafe dependent memory operations in loop
+! ANALYSIS-REGEX-LOOP-ONLY: optimization-remark.f90:75:7: remark: loop not vectorized: unsafe dependent memory operations in loop
! ANALYSIS-REGEX-LOOP-ONLY-NOT: remark: {{.*}}: IR instruction count changed from {{[0-9]+}} to {{[0-9]+}}; Delta: {{-?[0-9]+}} [-Rpass-analysis=size-info]
-! PASS: optimization-remark.f90:79:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete]
+! PASS: optimization-remark.f90:80:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete]
-! MISSED: optimization-remark.f90:73:7: remark: failed to hoist load with loop-invariant address
-! MISSED: optimization-remark.f90:72:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize]
-! MISSED-NOT: optimization-remark.f90:75:7: remark: loop not vectorized: unsafe dependent memory operations in loop. Use #pragma clang loop distribute(enable) to allow loop distribution to attempt to isolate the offending operations into a separate loop
+! MISSED: optimization-remark.f90:74:7: remark: failed to hoist load with loop-invariant address
+! MISSED: optimization-remark.f90:73:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize]
+! MISSED-NOT: optimization-remark.f90:76:7: remark: loop not vectorized: unsafe dependent memory operations in loop. Use #pragma clang loop distribute(enable) to allow loop distribution to attempt to isolate the offending operations into a separate loop
! MISSED-NOT: Unknown data dependence. Memory location is the same as accessed at optimization-remark.f90:78:7 [-Rpass-analysis=loop-vectorize]
-! ANALYSIS: optimization-remark.f90:74:7: remark: loop not vectorized: unsafe dependent memory operations in loop.
+! ANALYSIS: optimization-remark.f90:75:7: remark: loop not vectorized: unsafe dependent memory operations in loop.
! ANALYSIS: remark: {{.*}} instructions in function [-Rpass-analysis=asm-printer]
subroutine swap_real(a1, a2)
More information about the flang-commits
mailing list