[flang-commits] [flang] [flang] Build a dedicated fir-test-opt for testing (PR #123473)
Michał Górny via flang-commits
flang-commits at lists.llvm.org
Tue Jan 21 11:54:58 PST 2025
https://github.com/mgorny updated https://github.com/llvm/llvm-project/pull/123473
>From 172a53615ecbf31657b0fcc8e8202d8ce999b1f2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny at gentoo.org>
Date: Sat, 18 Jan 2025 20:47:47 +0100
Subject: [PATCH 1/3] Build a dedicated fir-test-opt for testing
Rather than having different passes inside `fir-opt` depending
on the value of `FLANG_INCLUDE_TESTS`, build two separate executables:
regular `fir-opt` tool that is going to be installed,
and a `fir-test-opt` to be used in the test suite. This ensures that
`fir-opt` behaves consistently independently of `FLANG_INCLUDE_TESTS`
value used during the build, and a test-enabled build can be used
on production.
Fixes #121202
---
flang/tools/fir-opt/CMakeLists.txt | 26 ++++++++++++++++----------
flang/tools/fir-opt/fir-opt.cpp | 2 +-
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/flang/tools/fir-opt/CMakeLists.txt b/flang/tools/fir-opt/CMakeLists.txt
index efbde329b8b8c0..7950aca0d29d2f 100644
--- a/flang/tools/fir-opt/CMakeLists.txt
+++ b/flang/tools/fir-opt/CMakeLists.txt
@@ -3,15 +3,10 @@ llvm_update_compile_flags(fir-opt)
get_property(dialect_libs GLOBAL PROPERTY MLIR_DIALECT_LIBS)
get_property(extension_libs GLOBAL PROPERTY MLIR_EXTENSION_LIBS)
-if(FLANG_INCLUDE_TESTS)
- set(test_libs
- FIRTestAnalysis
- FIRTestOpenACCInterfaces
- MLIRTestIR
- )
-endif()
+add_library(fir-opt-common INTERFACE)
+target_link_libraries(fir-opt PRIVATE fir-opt-common)
-target_link_libraries(fir-opt PRIVATE
+target_link_libraries(fir-opt-common INTERFACE
CUFAttrs
CUFDialect
FIRDialect
@@ -23,10 +18,9 @@ target_link_libraries(fir-opt PRIVATE
FIROpenACCSupport
FlangOpenMPTransforms
FIRAnalysis
- ${test_libs}
)
-mlir_target_link_libraries(fir-opt PRIVATE
+mlir_target_link_libraries(fir-opt-common INTERFACE
${dialect_libs}
${extension_libs}
@@ -45,3 +39,15 @@ mlir_target_link_libraries(fir-opt PRIVATE
MLIRVectorToLLVM
MLIROptLib
)
+
+if(FLANG_INCLUDE_TESTS)
+ add_flang_executable(fir-test-opt fir-opt.cpp)
+ llvm_update_compile_flags(fir-test-opt)
+ target_compile_definitions(fir-test-opt PRIVATE FIR_TEST_OPT)
+ target_link_libraries(fir-test-opt PRIVATE
+ fir-opt-common
+ FIRTestAnalysis
+ FIRTestOpenACCInterfaces
+ MLIRTestIR
+ )
+endif()
diff --git a/flang/tools/fir-opt/fir-opt.cpp b/flang/tools/fir-opt/fir-opt.cpp
index ef510ff77ad253..b37733562d3704 100644
--- a/flang/tools/fir-opt/fir-opt.cpp
+++ b/flang/tools/fir-opt/fir-opt.cpp
@@ -37,7 +37,7 @@ int main(int argc, char **argv) {
fir::registerOptTransformPasses();
hlfir::registerHLFIRPasses();
flangomp::registerFlangOpenMPPasses();
-#ifdef FLANG_INCLUDE_TESTS
+#ifdef FIR_TEST_OPT
fir::test::registerTestFIRAliasAnalysisPass();
fir::test::registerTestFIROpenACCInterfacesPass();
mlir::registerSideEffectTestPasses();
>From 26112bf3e5f5503400decd64b1b17448c796d225 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny at gentoo.org>
Date: Tue, 21 Jan 2025 14:03:24 +0100
Subject: [PATCH 2/3] Switch tests to use fir-test-opt when necessary
---
flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir | 2 +-
flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir | 2 +-
.../AliasAnalysis/alias-analysis-omp-private-allocatable.mlir | 2 +-
.../test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir | 2 +-
.../test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir | 2 +-
.../alias-analysis-omp-teams-distribute-private-ptr.mlir | 2 +-
.../alias-analysis-omp-teams-distribute-private.mlir | 2 +-
.../test/Analysis/AliasAnalysis/modref-call-after-inlining.fir | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-args.f90 | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90 | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90 | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-globals.f90 | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90 | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-locals.f90 | 2 +-
flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir | 2 +-
flang/test/Analysis/AliasAnalysis/ptr-component.fir | 2 +-
flang/test/Fir/OpenACC/openacc-mappable.fir | 2 +-
flang/test/HLFIR/assign-side-effects.fir | 2 +-
flang/test/HLFIR/memory-effects.fir | 2 +-
27 files changed, 27 insertions(+), 27 deletions(-)
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir
index 4ccde65741f959..c94a6d526610d6 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// CHECK-LABEL: Testing : "_QPtest"
// CHECK-DAG: alloca_1#0 <-> address_of#0: NoAlias
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
index d03348efd2a68c..9c6bd8870a3301 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// CHECK-LABEL: Testing : "_QFPtest"
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
index eab438576c2bcf..874e8e637dd4c8 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// module m
// type t
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir
index 24baab80f83e96..26d712f5c6a136 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir
@@ -2,7 +2,7 @@
// use --mlir-disable-threading so that the AA queries are serialised
// as well as its diagnostic output.
-// RUN: fir-opt %s --test-fir-alias-analysis -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s --test-fir-alias-analysis -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// designate for a derived type component:
// module m
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir
index 06241385869120..64aadd4935f1b1 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// CHECK-LABEL: Testing : "_QPtest1"
// CHECK: arraya(ii)#0 <-> arrayc(ii)#0: NoAlias
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir
index 85c780312bd47d..8c289b65d91adc 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir
@@ -1,4 +1,4 @@
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' 2>&1 | FileCheck %s
// CHECK: test_y(1)#0 <-> test_x(1)#0: MayAlias
func.func @_QPtest(%arg0: !fir.ref<!fir.box<!fir.ptr<!fir.array<?xf32>>>> {fir.bindc_name = "y"}) {
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir
index fdf2fc4353bbb9..ecc896c2725c7a 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir
@@ -1,4 +1,4 @@
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' 2>&1 | FileCheck %s
// leslie3d case with two allocatable module variables
// that cannot alias:
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir
index a04c9523f472aa..e98f277e0acd1f 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir
@@ -1,4 +1,4 @@
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' 2>&1 | FileCheck %s
// Exercise that a box reference does not alias with the address loaded from the box
// module mm
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
index 91616a414676f9..9f2500a33852ac 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// Fortran source code:
// program TestTmpArrayAssignment
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
index 7f90384ac99c56..01510ef7a086c2 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir
@@ -1,5 +1,5 @@
// Test alias analysis queries for host associated accesses.
-// RUN: fir-opt %s --test-fir-alias-analysis -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s --test-fir-alias-analysis -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// subroutine test1
// integer :: x(10)
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
index 5116622364fad8..95ee6f3d53d5df 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// Fortran code before simplification:
// SUBROUTINE mysub(ns,ne)
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
index 88f411847172a0..865507fdaeb553 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// Fortran source code:
//
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir
index c6b2e29a7188a9..213511026ef6b0 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// Fortran source code:
//
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir
index 78207d21c45bf3..354373963ac3eb 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// Fortran code:
// program main
diff --git a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir
index 4668b2c215c8c3..b7d5568685ac34 100644
--- a/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir
+++ b/flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir
@@ -1,6 +1,6 @@
// Use --mlir-disable-threading so that the AA queries are serialized
// as well as its diagnostic output.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
// Fortran code:
//
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir b/flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
index c9dd03c95d7e87..54218c6f9edef3 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir
@@ -1,4 +1,4 @@
-// RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+// RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
// RUN: --mlir-disable-threading %s -o /dev/null 2>&1 | FileCheck %s
// Test fir.call modref with internal procedures after the host function has been inlined in
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-args.f90 b/flang/test/Analysis/AliasAnalysis/modref-call-args.f90
index 5fc2b8143377b0..adc10e30154c14 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-args.f90
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-args.f90
@@ -1,5 +1,5 @@
! RUN: bbc -emit-hlfir %s -o - | %python %S/gen_mod_ref_test.py | \
-! RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+! RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
! RUN: --mlir-disable-threading -o /dev/null 2>&1 | FileCheck %s
! Test fir.call modref when arguments are passed to the call. This focus
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90 b/flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
index a4c57cff70927f..14872b2a6f7632 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90
@@ -1,5 +1,5 @@
! RUN: bbc -emit-hlfir %s -o - | %python %S/gen_mod_ref_test.py | \
-! RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+! RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
! RUN: --mlir-disable-threading -o /dev/null 2>&1 | FileCheck %s
! Test fir.call modref for dummy argument variables. This focus on
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90 b/flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
index 1bb2f7a66431f8..3dd3d4c259c3da 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90
@@ -1,5 +1,5 @@
! RUN: bbc -emit-hlfir %s -o - | %python %S/gen_mod_ref_test.py | \
-! RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+! RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
! RUN: --mlir-disable-threading -o /dev/null 2>&1 | FileCheck %s
! Test that mod ref effects for variables captured in internal procedures
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-globals.f90 b/flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
index 695b38ed406a53..44eb0d763448b4 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-globals.f90
@@ -1,5 +1,5 @@
! RUN: bbc -emit-hlfir %s -o - | %python %S/gen_mod_ref_test.py | \
-! RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+! RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
! RUN: --mlir-disable-threading -o /dev/null 2>&1 | FileCheck %s
! Test fir.call modref for global variables (module, saved, common).
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90 b/flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
index 2683880c7765c2..c529a6c8ad07c6 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90
@@ -1,5 +1,5 @@
! RUN: bbc -emit-hlfir %s -o - | %python %S/gen_mod_ref_test.py | \
-! RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+! RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
! RUN: --mlir-disable-threading -o /dev/null 2>&1 | FileCheck %s
! Test fir.call modref with internal procedures
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-locals.f90 b/flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
index 3038d1a450b7ee..be9bbd396ff2e5 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-locals.f90
@@ -1,5 +1,5 @@
! RUN: bbc -emit-hlfir %s -o - | %python %S/gen_mod_ref_test.py | \
-! RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+! RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
! RUN: --mlir-disable-threading -o /dev/null 2>&1 | FileCheck %s
! Test fir.call modref for local variables.
diff --git a/flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir b/flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir
index 1cae83fa4f2253..a32d30d1bf5df6 100644
--- a/flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir
+++ b/flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir
@@ -1,4 +1,4 @@
-// RUN: fir-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
+// RUN: fir-test-opt -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis-modref))' \
// RUN: --mlir-disable-threading %s -o /dev/null 2>&1 | FileCheck %s
// Test that fir.call modref is conservative when it cannot enusre it is
diff --git a/flang/test/Analysis/AliasAnalysis/ptr-component.fir b/flang/test/Analysis/AliasAnalysis/ptr-component.fir
index 856d8e2d94c989..bcf3c504712186 100644
--- a/flang/test/Analysis/AliasAnalysis/ptr-component.fir
+++ b/flang/test/Analysis/AliasAnalysis/ptr-component.fir
@@ -5,7 +5,7 @@
// is via fir.coordinate_of instead of hlfir.designate. We would like alias
// analysis results to be the same in both versions.
-// RUN: fir-opt %s -split-input-file -o /dev/null --mlir-disable-threading \
+// RUN: fir-test-opt %s -split-input-file -o /dev/null --mlir-disable-threading \
// RUN: -pass-pipeline='builtin.module(func.func(test-fir-alias-analysis))' \
// RUN: 2>&1 | FileCheck -match-full-lines %s
diff --git a/flang/test/Fir/OpenACC/openacc-mappable.fir b/flang/test/Fir/OpenACC/openacc-mappable.fir
index 438cb29b991c7d..8e8b23356e22b2 100644
--- a/flang/test/Fir/OpenACC/openacc-mappable.fir
+++ b/flang/test/Fir/OpenACC/openacc-mappable.fir
@@ -1,5 +1,5 @@
// Use --mlir-disable-threading so that the diagnostic printing is serialized.
-// RUN: fir-opt %s -pass-pipeline='builtin.module(test-fir-openacc-interfaces)' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
+// RUN: fir-test-opt %s -pass-pipeline='builtin.module(test-fir-openacc-interfaces)' -split-input-file --mlir-disable-threading 2>&1 | FileCheck %s
module attributes {dlti.dl_spec = #dlti.dl_spec<f16 = dense<16> : vector<2xi64>, f128 = dense<128> : vector<2xi64>, !llvm.ptr<270> = dense<32> : vector<4xi64>, f64 = dense<64> : vector<2xi64>, !llvm.ptr<271> = dense<32> : vector<4xi64>, !llvm.ptr<272> = dense<64> : vector<4xi64>, i64 = dense<64> : vector<2xi64>, i128 = dense<128> : vector<2xi64>, f80 = dense<128> : vector<2xi64>, !llvm.ptr = dense<64> : vector<4xi64>, i1 = dense<8> : vector<2xi64>, i8 = dense<8> : vector<2xi64>, i16 = dense<16> : vector<2xi64>, i32 = dense<32> : vector<2xi64>, "dlti.endianness" = "little", "dlti.stack_alignment" = 128 : i64>, fir.defaultkind = "a1c4d8i4l4r4", fir.kindmap = "", llvm.data_layout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"} {
func.func @_QPsub() {
diff --git a/flang/test/HLFIR/assign-side-effects.fir b/flang/test/HLFIR/assign-side-effects.fir
index dfd1c5886e4fa2..85294df24ef3ae 100644
--- a/flang/test/HLFIR/assign-side-effects.fir
+++ b/flang/test/HLFIR/assign-side-effects.fir
@@ -1,5 +1,5 @@
// Test side effects of hlfir.assign op.
-// RUN: fir-opt %s --test-side-effects --verify-diagnostics
+// RUN: fir-test-opt %s --test-side-effects --verify-diagnostics
func.func @test1(%x: !fir.ref<i32>, %i: i32) {
// expected-remark @below {{found an instance of 'write' on a op operand, on resource '<Default>'}}
diff --git a/flang/test/HLFIR/memory-effects.fir b/flang/test/HLFIR/memory-effects.fir
index cac887ebe67dec..1543987bdcdf2f 100644
--- a/flang/test/HLFIR/memory-effects.fir
+++ b/flang/test/HLFIR/memory-effects.fir
@@ -1,4 +1,4 @@
-// RUN: fir-opt %s --test-side-effects --verify-diagnostics
+// RUN: fir-test-opt %s --test-side-effects --verify-diagnostics
func.func @concat(%arg0: !fir.ref<!fir.char<1,10>>, %arg1: !fir.ref<!fir.char<1, 20>>) {
// expected-remark at +1 {{operation has no memory effects}}
>From bfb15671c942ee233f997258fc66ce90f2cb4934 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny at gentoo.org>
Date: Tue, 21 Jan 2025 20:53:27 +0100
Subject: [PATCH 3/3] Add fir-test-opt to FLANG_TEST_DEPENDS
---
flang/test/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/flang/test/CMakeLists.txt b/flang/test/CMakeLists.txt
index cab214c2ef4c8c..64cfd86401a351 100644
--- a/flang/test/CMakeLists.txt
+++ b/flang/test/CMakeLists.txt
@@ -65,6 +65,7 @@ set(FLANG_TEST_DEPENDS
not
module_files
fir-opt
+ fir-test-opt
tco
bbc
llvm-dis
More information about the flang-commits
mailing list