Skip to content

[flang] Build a dedicated fir-test-opt for testing #123473

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

mgorny
Copy link
Member

@mgorny mgorny commented Jan 18, 2025

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

@llvmbot
Copy link
Member

llvmbot commented Jan 18, 2025

@llvm/pr-subscribers-openacc

@llvm/pr-subscribers-flang-driver

Author: Michał Górny (mgorny)

Changes

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. It also avoids mixing dynamic libMLIR with static libraries (needed for test-related parts) in release executables.

Fixes #121202


Patch is 270.50 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/123473.diff

362 Files Affected:

  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-args.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-globals.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-locals.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/ptr-component.fir (+1-1)
  • (modified) flang/test/CMakeLists.txt (+1-1)
  • (modified) flang/test/Driver/omp-cse-region-boundary.f90 (+4-4)
  • (modified) flang/test/Fir/CUDA/cuda-abstract-result.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-alloc-free.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-allocate.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-code-gen.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-constructor-2.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-constructor.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-data-transfer.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-device-context.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-device-global.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-external-mangling.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-global-addr.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-implicit-device-global.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-launch.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-register-func.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-sync-desc.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-target-rewrite.mlir (+1-1)
  • (modified) flang/test/Fir/OpenACC/legalize-data.fir (+1-1)
  • (modified) flang/test/Fir/OpenACC/openacc-mappable.fir (+1-1)
  • (modified) flang/test/Fir/OpenACC/propagate-attr-folding.fir (+1-1)
  • (modified) flang/test/Fir/Todo/allocmem.fir (+1-1)
  • (modified) flang/test/Fir/Todo/boxproc_host.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_2.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_3.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_4.fir (+1-1)
  • (modified) flang/test/Fir/Todo/end.fir (+1-1)
  • (modified) flang/test/Fir/Todo/global_len.fir (+1-1)
  • (modified) flang/test/Fir/Todo/len_param_index.fir (+1-1)
  • (modified) flang/test/Fir/Todo/select_case_with_character.fir (+1-1)
  • (modified) flang/test/Fir/Todo/unboxproc.fir (+1-1)
  • (modified) flang/test/Fir/abstract-result-2.fir (+1-1)
  • (modified) flang/test/Fir/abstract-results-bindc.fir (+1-1)
  • (modified) flang/test/Fir/abstract-results.fir (+4-4)
  • (modified) flang/test/Fir/affine-demotion.fir (+1-1)
  • (modified) flang/test/Fir/affine-promotion.fir (+1-1)
  • (modified) flang/test/Fir/already-defined-free.fir (+1-1)
  • (modified) flang/test/Fir/annotate-constant.fir (+1-1)
  • (modified) flang/test/Fir/array-coor-canonicalization.fir (+1-1)
  • (modified) flang/test/Fir/array-copies-pointers.fir (+2-2)
  • (modified) flang/test/Fir/array-modify.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-2.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-3.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-4.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-cam4.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy.fir (+1-1)
  • (modified) flang/test/Fir/box-offset.fir (+1-1)
  • (modified) flang/test/Fir/boxaddr-folding.fir (+1-1)
  • (modified) flang/test/Fir/boxproc-2.fir (+1-1)
  • (modified) flang/test/Fir/boxproc-openmp.fir (+1-1)
  • (modified) flang/test/Fir/cg-ops.fir (+1-1)
  • (modified) flang/test/Fir/char-conversion.fir (+1-1)
  • (modified) flang/test/Fir/char01.fir (+1-1)
  • (modified) flang/test/Fir/comdat-present.fir (+2-2)
  • (modified) flang/test/Fir/comdat.fir (+4-4)
  • (modified) flang/test/Fir/commute.fir (+1-1)
  • (modified) flang/test/Fir/compare.fir (+1-1)
  • (modified) flang/test/Fir/constant.fir (+1-1)
  • (modified) flang/test/Fir/convert-fold.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-invalid.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-openmp-and-fir.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-target.fir (+4-4)
  • (modified) flang/test/Fir/convert-to-llvm.fir (+7-7)
  • (modified) flang/test/Fir/convert-type-desc-to-llvm.fir (+7-7)
  • (modified) flang/test/Fir/coordinate_of_1.fir (+1-1)
  • (modified) flang/test/Fir/coordinateof.fir (+1-1)
  • (modified) flang/test/Fir/cse.fir (+1-1)
  • (modified) flang/test/Fir/cuf-invalid.fir (+1-1)
  • (modified) flang/test/Fir/cuf.mlir (+1-1)
  • (modified) flang/test/Fir/declare-codegen.fir (+3-3)
  • (modified) flang/test/Fir/declare.fir (+1-1)
  • (modified) flang/test/Fir/dispatch.f90 (+1-1)
  • (modified) flang/test/Fir/dummy-scope-codegen.fir (+3-3)
  • (modified) flang/test/Fir/dummy_scope.fir (+2-2)
  • (modified) flang/test/Fir/embox-char.fir (+1-1)
  • (modified) flang/test/Fir/embox-substring.fir (+1-1)
  • (modified) flang/test/Fir/embox-write.fir (+1-1)
  • (modified) flang/test/Fir/external-mangling-emboxproc.fir (+1-1)
  • (modified) flang/test/Fir/external-mangling.fir (+2-2)
  • (modified) flang/test/Fir/field-index.fir (+1-1)
  • (modified) flang/test/Fir/fir-fast-math.fir (+1-1)
  • (modified) flang/test/Fir/fir-int-conversion.fir (+3-3)
  • (modified) flang/test/Fir/fir-ops.fir (+1-1)
  • (modified) flang/test/Fir/fir-types.fir (+1-1)
  • (modified) flang/test/Fir/global-attributes.fir (+2-2)
  • (modified) flang/test/Fir/global-initialization.fir (+1-1)
  • (modified) flang/test/Fir/invalid-types.fir (+1-1)
  • (modified) flang/test/Fir/invalid.fir (+1-1)
  • (modified) flang/test/Fir/is_assumed_size-codegen.fir (+1-1)
  • (modified) flang/test/Fir/logical-convert.fir (+4-4)
  • (modified) flang/test/Fir/loop01.fir (+2-2)
  • (modified) flang/test/Fir/loop02.fir (+2-2)
  • (modified) flang/test/Fir/loop03.fir (+1-1)
  • (modified) flang/test/Fir/memory-allocation-opt-2.fir (+1-1)
  • (modified) flang/test/Fir/memory-allocation-opt.fir (+1-1)
  • (modified) flang/test/Fir/memref-data-flow.fir (+1-1)
  • (modified) flang/test/Fir/non-trivial-procedure-binding-description.f90 (+1-1)
  • (modified) flang/test/Fir/omp-declare-target-data.fir (+1-1)
  • (modified) flang/test/Fir/rebox-susbtring.fir (+1-1)
  • (modified) flang/test/Fir/rebox_assumed_rank_codegen.fir (+1-1)
  • (modified) flang/test/Fir/recursive-type.fir (+4-4)
  • (modified) flang/test/Fir/rename-msvc-libm.fir (+2-2)
  • (modified) flang/test/Fir/struct-passing-aarch64-byval.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-loongarch64-byreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-aarch64.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-loongarch64-byreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-x86-64.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-arg-position.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-boxchar.fir (+7-7)
  • (modified) flang/test/Fir/target-rewrite-char-proc.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-complex-10-x86.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-complex.fir (+11-11)
  • (modified) flang/test/Fir/target-rewrite-complex16.fir (+2-2)
  • (modified) flang/test/Fir/target-rewrite-integer-loongarch64.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-integer.fir (+7-7)
  • (modified) flang/test/Fir/target-rewrite-selective-no-struct.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-selective.fir (+2-2)
  • (modified) flang/test/Fir/target-rewrite-target-cpu.fir (+3-3)
  • (modified) flang/test/Fir/target-rewrite-target-features.fir (+3-3)
  • (modified) flang/test/Fir/target-rewrite-triple.fir (+2-2)
  • (modified) flang/test/Fir/tbaa.fir (+2-2)
  • (modified) flang/test/Fir/types-to-llvm.fir (+1-1)
  • (modified) flang/test/Fir/undo-complex-pattern.fir (+1-1)
  • (modified) flang/test/Fir/vector-always-cfg.fir (+1-1)
  • (modified) flang/test/Fir/vector-always.fir (+1-1)
  • (modified) flang/test/HLFIR/all-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/all-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/all.fir (+1-1)
  • (modified) flang/test/HLFIR/any-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/any-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/any.fir (+1-1)
  • (modified) flang/test/HLFIR/apply-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/apply.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr-codegen-polymorphic.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-bufferize.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-codegen-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-side-effects.fir (+1-1)
  • (modified) flang/test/HLFIR/assign.fir (+1-1)
  • (modified) flang/test/HLFIR/associate-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/associate.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-destroy-for-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-end-associate-for-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-poly-expr.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-workshare.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize01.fir (+1-1)
  • (modified) flang/test/HLFIR/char_assign.fir (+1-1)
  • (modified) flang/test/HLFIR/char_extremum-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/char_extremum.fir (+1-1)
  • (modified) flang/test/HLFIR/concat-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/concat.fir (+1-1)
  • (modified) flang/test/HLFIR/convert-assign-inside-openacc-recipe.fir (+1-1)
  • (modified) flang/test/HLFIR/copy-in-out-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/copy-in-out.fir (+1-1)
  • (modified) flang/test/HLFIR/count-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/count-lowering-default-int-kinds.fir (+1-1)
  • (modified) flang/test/HLFIR/count-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/count.fir (+1-1)
  • (modified) flang/test/HLFIR/cshift-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/declare-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/declare.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen-complex-part.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen-component-refs.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/designate.fir (+1-1)
  • (modified) flang/test/HLFIR/destroy-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/destroy.fir (+1-1)
  • (modified) flang/test/HLFIR/dot_product-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/dot_product.fir (+1-1)
  • (modified) flang/test/HLFIR/dummy_scope.fir (+2-2)
  • (modified) flang/test/HLFIR/element-addr.fir (+1-1)
  • (modified) flang/test/HLFIR/element-codegen-issue-118922.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-codegen-nested.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-cse.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-shallow-copy.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/elsewhere.fir (+1-1)
  • (modified) flang/test/HLFIR/eval_in_mem-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/eval_in_mem.fir (+1-1)
  • (modified) flang/test/HLFIR/expr-type.fir (+1-1)
  • (modified) flang/test/HLFIR/extents-of-shape-of.f90 (+1-1)
  • (modified) flang/test/HLFIR/forall-index.fir (+2-2)
  • (modified) flang/test/HLFIR/forall.fir (+1-1)
  • (modified) flang/test/HLFIR/forall_mask.fir (+1-1)
  • (modified) flang/test/HLFIR/get_length.fir (+2-2)
  • (modified) flang/test/HLFIR/get_length_codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/getextent.fir (+1-1)
  • (modified) flang/test/HLFIR/inline-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/inline-hlfir-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/invalid.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul_transpose.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval.fir (+1-1)
  • (modified) flang/test/HLFIR/memory-effects.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc.fir (+1-1)
  • (modified) flang/test/HLFIR/minval-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/minval-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/minval.fir (+1-1)
  • (modified) flang/test/HLFIR/mul_transpose.f90 (+4-4)
  • (modified) flang/test/HLFIR/no_reassoc-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/no_reassoc.fir (+1-1)
  • (modified) flang/test/HLFIR/null-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/null.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-array-slice-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-eval_in_mem.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-leslie3d.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-non-realloc-assignment.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-scalar-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-variable-assign-omp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/forall-codegen-fuse-assignments.fir (+2-2)
  • (modified) flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/forall-issue120190.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/impure-where.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/inlined-stack-temp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/runtime-stack-temp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/user-defined-assignment.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/vector-subscripts-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/vector-subscripts-scheduling.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/where-cleanup.f90 (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir (+1-1)
  • (modified) flang/test/HLFIR/parent_comp-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/parent_comp.fir (+1-1)
  • (modified) flang/test/HLFIR/product-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/product.fir (+1-1)
  • (modified) flang/test/HLFIR/region-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/set_length-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/set_length.fir (+1-1)
  • (modified) flang/test/HLFIR/shapeof-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/shapeof.fir (+2-2)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir (+3-3)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics.fir (+1-1)
  • (modified) flang/test/HLFIR/sum-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/sum.fir (+1-1)
  • (modified) flang/test/HLFIR/transpose-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/transpose.fir (+1-1)
  • (modified) flang/test/HLFIR/where.fir (+1-1)
  • (modified) flang/test/Intrinsics/math-codegen.fir (+63-63)
  • (modified) flang/test/Lower/CUDA/cuda-data-attribute.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-kernel-calls.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-proc-attribute.cuf (+1-1)
  • (modified) flang/test/Lower/HLFIR/elemental-result-length.f90 (+1-1)
  • (modified) flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90 (+1-1)
  • (modified) flang/test/Lower/HLFIR/substrings.f90 (+1-1)
  • (modified) flang/test/Lower/Intrinsics/achar.f90 (+2-2)
  • (modified) flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90 (+2-2)
  • (modified) flang/test/Lower/array-character.f90 (+1-1)
  • (modified) flang/test/Lower/select-type-2.f90 (+1-1)
  • (modified) flang/test/Lower/select-type-2.fir (+1-1)
  • (modified) flang/test/Lower/select-type.f90 (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-binding.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-cleanup.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-copyprivate.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-correct-parallelize.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-nested.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-no-single.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-nowait.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-todo-cfg-dom.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-todo-cfg.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir (+1-1)
  • (modified) flang/test/Transforms/constant-argument-globalisation-2.fir (+1-1)
  • (modified) flang/test/Transforms/constant-argument-globalisation.fir (+1-1)
  • (modified) flang/test/Transforms/debug-107988.fir (+1-1)
  • (modified) flang/test/Transforms/debug-92391.fir (+1-1)
  • (modified) flang/test/Transforms/debug-96314.fir (+1-1)
  • (modified) flang/test/Transforms/debug-allocatable-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-rank-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-shape-array-2.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-shape-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-size-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-char-type-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-class-type.fir (+1-1)
  • (modified) flang/test/Transforms/debug-complex-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-derived-type-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-derived-type-2.fir (+1-1)
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/CMakeLists.txt b/flang/test/CMakeLists.txt
index cab214c2ef4c8c..2f5347b61da366 100644
--- a/flang/test/CMakeLists.txt
+++ b/flang/test/CMakeLists.txt
@@ -64,7 +64,7 @@ set(FLANG_TEST_DEPENDS
   count
   not
   module_files
-  fir-opt
+  fir-test-opt
   tco
   bbc
   llvm-dis
diff --git a/flang/test/Driver/omp-cse-region-boundary.f90 b/flang/test/Driver/omp-cse-region-boundary.f90
index 726ac4899ba708..f14cfa704c33d8 100644
--- a/flang/test/Driver/omp-cse-region-boundary.f90
+++ b/flang/test/Driver/omp-cse-region-boundary.f90
@@ -1,10 +1,10 @@
 !This test checks that when compiling an OpenMP program for the target device
 !CSE is not done across target op region boundaries. It also checks that when
 !compiling for the host CSE is done.
-!RUN: %flang_fc1 -fopenmp-is-target-device -emit-mlir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
-!RUN: %flang_fc1 -emit-mlir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
-!RUN: bbc -fopenmp-is-target-device -emit-fir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
-!RUN: bbc -emit-fir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
+!RUN: %flang_fc1 -fopenmp-is-target-device -emit-mlir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
+!RUN: %flang_fc1 -emit-mlir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
+!RUN: bbc -fopenmp-is-target-device -emit-fir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
+!RUN: bbc -emit-fir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
 
 !Constant should be present inside target region.
 !CHECK-DEVICE: omp.target
diff --git a/flang/test/Fir/CUDA/cuda-abstract-result.mlir b/flang/test/Fir/CUDA/cuda-abstract-result.mlir
index 8c59487ca5cd5c..6dd523f0b66ac9 100644
--- a/flang/test/Fir/CUDA/cuda-abstract-result.mlir
+++ b/flang/test/Fir/CUDA/cuda-abstract-result.mlir
@@ -1,4 +1,4 @@
-// RUN: fir-opt -pass-pipeline='builtin.module(gpu.module(gpu.func(abstract-result)))' %s | FileCheck %s
+// RUN: fir-test-opt -pass-pipeline='builtin.module(gpu.module(gpu.func(abstract-result)))' %s | FileCheck %s
 
 gpu.module @test {
  gpu.func @_QMinterval_mPtest1(%arg0: !fir.ref<!fir.type<_QMinterval_mTinterval{inf:f32,sup:f32}>>, %arg1: !fir.ref<f32>) -> !fir.type<_QMinterval_mTinterval{inf:f32,sup:f32}> {
diff --git a/flang/test/Fir/CUDA/cuda-alloc-free.fir b/flang/test/Fir/CUDA/cuda-alloc-free.fir
index 6194f0071cd796..111ff684d4db4a 100644
--- a/flang/test/Fir/CUDA/cuda...
[truncated]

@llvmbot
Copy link
Member

llvmbot commented Jan 18, 2025

@llvm/pr-subscribers-flang-openmp

Author: Michał Górny (mgorny)

Changes

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. It also avoids mixing dynamic libMLIR with static libraries (needed for test-related parts) in release executables.

Fixes #121202


Patch is 270.50 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/123473.diff

362 Files Affected:

  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-args.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-globals.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-locals.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/ptr-component.fir (+1-1)
  • (modified) flang/test/CMakeLists.txt (+1-1)
  • (modified) flang/test/Driver/omp-cse-region-boundary.f90 (+4-4)
  • (modified) flang/test/Fir/CUDA/cuda-abstract-result.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-alloc-free.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-allocate.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-code-gen.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-constructor-2.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-constructor.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-data-transfer.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-device-context.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-device-global.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-external-mangling.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-global-addr.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-implicit-device-global.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-launch.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-register-func.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-sync-desc.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-target-rewrite.mlir (+1-1)
  • (modified) flang/test/Fir/OpenACC/legalize-data.fir (+1-1)
  • (modified) flang/test/Fir/OpenACC/openacc-mappable.fir (+1-1)
  • (modified) flang/test/Fir/OpenACC/propagate-attr-folding.fir (+1-1)
  • (modified) flang/test/Fir/Todo/allocmem.fir (+1-1)
  • (modified) flang/test/Fir/Todo/boxproc_host.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_2.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_3.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_4.fir (+1-1)
  • (modified) flang/test/Fir/Todo/end.fir (+1-1)
  • (modified) flang/test/Fir/Todo/global_len.fir (+1-1)
  • (modified) flang/test/Fir/Todo/len_param_index.fir (+1-1)
  • (modified) flang/test/Fir/Todo/select_case_with_character.fir (+1-1)
  • (modified) flang/test/Fir/Todo/unboxproc.fir (+1-1)
  • (modified) flang/test/Fir/abstract-result-2.fir (+1-1)
  • (modified) flang/test/Fir/abstract-results-bindc.fir (+1-1)
  • (modified) flang/test/Fir/abstract-results.fir (+4-4)
  • (modified) flang/test/Fir/affine-demotion.fir (+1-1)
  • (modified) flang/test/Fir/affine-promotion.fir (+1-1)
  • (modified) flang/test/Fir/already-defined-free.fir (+1-1)
  • (modified) flang/test/Fir/annotate-constant.fir (+1-1)
  • (modified) flang/test/Fir/array-coor-canonicalization.fir (+1-1)
  • (modified) flang/test/Fir/array-copies-pointers.fir (+2-2)
  • (modified) flang/test/Fir/array-modify.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-2.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-3.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-4.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-cam4.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy.fir (+1-1)
  • (modified) flang/test/Fir/box-offset.fir (+1-1)
  • (modified) flang/test/Fir/boxaddr-folding.fir (+1-1)
  • (modified) flang/test/Fir/boxproc-2.fir (+1-1)
  • (modified) flang/test/Fir/boxproc-openmp.fir (+1-1)
  • (modified) flang/test/Fir/cg-ops.fir (+1-1)
  • (modified) flang/test/Fir/char-conversion.fir (+1-1)
  • (modified) flang/test/Fir/char01.fir (+1-1)
  • (modified) flang/test/Fir/comdat-present.fir (+2-2)
  • (modified) flang/test/Fir/comdat.fir (+4-4)
  • (modified) flang/test/Fir/commute.fir (+1-1)
  • (modified) flang/test/Fir/compare.fir (+1-1)
  • (modified) flang/test/Fir/constant.fir (+1-1)
  • (modified) flang/test/Fir/convert-fold.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-invalid.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-openmp-and-fir.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-target.fir (+4-4)
  • (modified) flang/test/Fir/convert-to-llvm.fir (+7-7)
  • (modified) flang/test/Fir/convert-type-desc-to-llvm.fir (+7-7)
  • (modified) flang/test/Fir/coordinate_of_1.fir (+1-1)
  • (modified) flang/test/Fir/coordinateof.fir (+1-1)
  • (modified) flang/test/Fir/cse.fir (+1-1)
  • (modified) flang/test/Fir/cuf-invalid.fir (+1-1)
  • (modified) flang/test/Fir/cuf.mlir (+1-1)
  • (modified) flang/test/Fir/declare-codegen.fir (+3-3)
  • (modified) flang/test/Fir/declare.fir (+1-1)
  • (modified) flang/test/Fir/dispatch.f90 (+1-1)
  • (modified) flang/test/Fir/dummy-scope-codegen.fir (+3-3)
  • (modified) flang/test/Fir/dummy_scope.fir (+2-2)
  • (modified) flang/test/Fir/embox-char.fir (+1-1)
  • (modified) flang/test/Fir/embox-substring.fir (+1-1)
  • (modified) flang/test/Fir/embox-write.fir (+1-1)
  • (modified) flang/test/Fir/external-mangling-emboxproc.fir (+1-1)
  • (modified) flang/test/Fir/external-mangling.fir (+2-2)
  • (modified) flang/test/Fir/field-index.fir (+1-1)
  • (modified) flang/test/Fir/fir-fast-math.fir (+1-1)
  • (modified) flang/test/Fir/fir-int-conversion.fir (+3-3)
  • (modified) flang/test/Fir/fir-ops.fir (+1-1)
  • (modified) flang/test/Fir/fir-types.fir (+1-1)
  • (modified) flang/test/Fir/global-attributes.fir (+2-2)
  • (modified) flang/test/Fir/global-initialization.fir (+1-1)
  • (modified) flang/test/Fir/invalid-types.fir (+1-1)
  • (modified) flang/test/Fir/invalid.fir (+1-1)
  • (modified) flang/test/Fir/is_assumed_size-codegen.fir (+1-1)
  • (modified) flang/test/Fir/logical-convert.fir (+4-4)
  • (modified) flang/test/Fir/loop01.fir (+2-2)
  • (modified) flang/test/Fir/loop02.fir (+2-2)
  • (modified) flang/test/Fir/loop03.fir (+1-1)
  • (modified) flang/test/Fir/memory-allocation-opt-2.fir (+1-1)
  • (modified) flang/test/Fir/memory-allocation-opt.fir (+1-1)
  • (modified) flang/test/Fir/memref-data-flow.fir (+1-1)
  • (modified) flang/test/Fir/non-trivial-procedure-binding-description.f90 (+1-1)
  • (modified) flang/test/Fir/omp-declare-target-data.fir (+1-1)
  • (modified) flang/test/Fir/rebox-susbtring.fir (+1-1)
  • (modified) flang/test/Fir/rebox_assumed_rank_codegen.fir (+1-1)
  • (modified) flang/test/Fir/recursive-type.fir (+4-4)
  • (modified) flang/test/Fir/rename-msvc-libm.fir (+2-2)
  • (modified) flang/test/Fir/struct-passing-aarch64-byval.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-loongarch64-byreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-aarch64.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-loongarch64-byreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-x86-64.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-arg-position.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-boxchar.fir (+7-7)
  • (modified) flang/test/Fir/target-rewrite-char-proc.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-complex-10-x86.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-complex.fir (+11-11)
  • (modified) flang/test/Fir/target-rewrite-complex16.fir (+2-2)
  • (modified) flang/test/Fir/target-rewrite-integer-loongarch64.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-integer.fir (+7-7)
  • (modified) flang/test/Fir/target-rewrite-selective-no-struct.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-selective.fir (+2-2)
  • (modified) flang/test/Fir/target-rewrite-target-cpu.fir (+3-3)
  • (modified) flang/test/Fir/target-rewrite-target-features.fir (+3-3)
  • (modified) flang/test/Fir/target-rewrite-triple.fir (+2-2)
  • (modified) flang/test/Fir/tbaa.fir (+2-2)
  • (modified) flang/test/Fir/types-to-llvm.fir (+1-1)
  • (modified) flang/test/Fir/undo-complex-pattern.fir (+1-1)
  • (modified) flang/test/Fir/vector-always-cfg.fir (+1-1)
  • (modified) flang/test/Fir/vector-always.fir (+1-1)
  • (modified) flang/test/HLFIR/all-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/all-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/all.fir (+1-1)
  • (modified) flang/test/HLFIR/any-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/any-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/any.fir (+1-1)
  • (modified) flang/test/HLFIR/apply-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/apply.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr-codegen-polymorphic.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-bufferize.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-codegen-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-side-effects.fir (+1-1)
  • (modified) flang/test/HLFIR/assign.fir (+1-1)
  • (modified) flang/test/HLFIR/associate-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/associate.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-destroy-for-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-end-associate-for-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-poly-expr.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-workshare.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize01.fir (+1-1)
  • (modified) flang/test/HLFIR/char_assign.fir (+1-1)
  • (modified) flang/test/HLFIR/char_extremum-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/char_extremum.fir (+1-1)
  • (modified) flang/test/HLFIR/concat-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/concat.fir (+1-1)
  • (modified) flang/test/HLFIR/convert-assign-inside-openacc-recipe.fir (+1-1)
  • (modified) flang/test/HLFIR/copy-in-out-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/copy-in-out.fir (+1-1)
  • (modified) flang/test/HLFIR/count-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/count-lowering-default-int-kinds.fir (+1-1)
  • (modified) flang/test/HLFIR/count-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/count.fir (+1-1)
  • (modified) flang/test/HLFIR/cshift-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/declare-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/declare.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen-complex-part.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen-component-refs.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/designate.fir (+1-1)
  • (modified) flang/test/HLFIR/destroy-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/destroy.fir (+1-1)
  • (modified) flang/test/HLFIR/dot_product-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/dot_product.fir (+1-1)
  • (modified) flang/test/HLFIR/dummy_scope.fir (+2-2)
  • (modified) flang/test/HLFIR/element-addr.fir (+1-1)
  • (modified) flang/test/HLFIR/element-codegen-issue-118922.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-codegen-nested.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-cse.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-shallow-copy.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/elsewhere.fir (+1-1)
  • (modified) flang/test/HLFIR/eval_in_mem-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/eval_in_mem.fir (+1-1)
  • (modified) flang/test/HLFIR/expr-type.fir (+1-1)
  • (modified) flang/test/HLFIR/extents-of-shape-of.f90 (+1-1)
  • (modified) flang/test/HLFIR/forall-index.fir (+2-2)
  • (modified) flang/test/HLFIR/forall.fir (+1-1)
  • (modified) flang/test/HLFIR/forall_mask.fir (+1-1)
  • (modified) flang/test/HLFIR/get_length.fir (+2-2)
  • (modified) flang/test/HLFIR/get_length_codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/getextent.fir (+1-1)
  • (modified) flang/test/HLFIR/inline-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/inline-hlfir-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/invalid.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul_transpose.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval.fir (+1-1)
  • (modified) flang/test/HLFIR/memory-effects.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc.fir (+1-1)
  • (modified) flang/test/HLFIR/minval-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/minval-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/minval.fir (+1-1)
  • (modified) flang/test/HLFIR/mul_transpose.f90 (+4-4)
  • (modified) flang/test/HLFIR/no_reassoc-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/no_reassoc.fir (+1-1)
  • (modified) flang/test/HLFIR/null-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/null.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-array-slice-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-eval_in_mem.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-leslie3d.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-non-realloc-assignment.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-scalar-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-variable-assign-omp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/forall-codegen-fuse-assignments.fir (+2-2)
  • (modified) flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/forall-issue120190.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/impure-where.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/inlined-stack-temp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/runtime-stack-temp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/user-defined-assignment.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/vector-subscripts-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/vector-subscripts-scheduling.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/where-cleanup.f90 (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir (+1-1)
  • (modified) flang/test/HLFIR/parent_comp-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/parent_comp.fir (+1-1)
  • (modified) flang/test/HLFIR/product-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/product.fir (+1-1)
  • (modified) flang/test/HLFIR/region-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/set_length-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/set_length.fir (+1-1)
  • (modified) flang/test/HLFIR/shapeof-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/shapeof.fir (+2-2)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir (+3-3)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics.fir (+1-1)
  • (modified) flang/test/HLFIR/sum-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/sum.fir (+1-1)
  • (modified) flang/test/HLFIR/transpose-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/transpose.fir (+1-1)
  • (modified) flang/test/HLFIR/where.fir (+1-1)
  • (modified) flang/test/Intrinsics/math-codegen.fir (+63-63)
  • (modified) flang/test/Lower/CUDA/cuda-data-attribute.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-kernel-calls.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-proc-attribute.cuf (+1-1)
  • (modified) flang/test/Lower/HLFIR/elemental-result-length.f90 (+1-1)
  • (modified) flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90 (+1-1)
  • (modified) flang/test/Lower/HLFIR/substrings.f90 (+1-1)
  • (modified) flang/test/Lower/Intrinsics/achar.f90 (+2-2)
  • (modified) flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90 (+2-2)
  • (modified) flang/test/Lower/array-character.f90 (+1-1)
  • (modified) flang/test/Lower/select-type-2.f90 (+1-1)
  • (modified) flang/test/Lower/select-type-2.fir (+1-1)
  • (modified) flang/test/Lower/select-type.f90 (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-binding.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-cleanup.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-copyprivate.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-correct-parallelize.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-nested.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-no-single.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-nowait.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-todo-cfg-dom.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-todo-cfg.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir (+1-1)
  • (modified) flang/test/Transforms/constant-argument-globalisation-2.fir (+1-1)
  • (modified) flang/test/Transforms/constant-argument-globalisation.fir (+1-1)
  • (modified) flang/test/Transforms/debug-107988.fir (+1-1)
  • (modified) flang/test/Transforms/debug-92391.fir (+1-1)
  • (modified) flang/test/Transforms/debug-96314.fir (+1-1)
  • (modified) flang/test/Transforms/debug-allocatable-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-rank-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-shape-array-2.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-shape-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-size-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-char-type-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-class-type.fir (+1-1)
  • (modified) flang/test/Transforms/debug-complex-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-derived-type-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-derived-type-2.fir (+1-1)
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/CMakeLists.txt b/flang/test/CMakeLists.txt
index cab214c2ef4c8c..2f5347b61da366 100644
--- a/flang/test/CMakeLists.txt
+++ b/flang/test/CMakeLists.txt
@@ -64,7 +64,7 @@ set(FLANG_TEST_DEPENDS
   count
   not
   module_files
-  fir-opt
+  fir-test-opt
   tco
   bbc
   llvm-dis
diff --git a/flang/test/Driver/omp-cse-region-boundary.f90 b/flang/test/Driver/omp-cse-region-boundary.f90
index 726ac4899ba708..f14cfa704c33d8 100644
--- a/flang/test/Driver/omp-cse-region-boundary.f90
+++ b/flang/test/Driver/omp-cse-region-boundary.f90
@@ -1,10 +1,10 @@
 !This test checks that when compiling an OpenMP program for the target device
 !CSE is not done across target op region boundaries. It also checks that when
 !compiling for the host CSE is done.
-!RUN: %flang_fc1 -fopenmp-is-target-device -emit-mlir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
-!RUN: %flang_fc1 -emit-mlir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
-!RUN: bbc -fopenmp-is-target-device -emit-fir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
-!RUN: bbc -emit-fir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
+!RUN: %flang_fc1 -fopenmp-is-target-device -emit-mlir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
+!RUN: %flang_fc1 -emit-mlir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
+!RUN: bbc -fopenmp-is-target-device -emit-fir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
+!RUN: bbc -emit-fir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
 
 !Constant should be present inside target region.
 !CHECK-DEVICE: omp.target
diff --git a/flang/test/Fir/CUDA/cuda-abstract-result.mlir b/flang/test/Fir/CUDA/cuda-abstract-result.mlir
index 8c59487ca5cd5c..6dd523f0b66ac9 100644
--- a/flang/test/Fir/CUDA/cuda-abstract-result.mlir
+++ b/flang/test/Fir/CUDA/cuda-abstract-result.mlir
@@ -1,4 +1,4 @@
-// RUN: fir-opt -pass-pipeline='builtin.module(gpu.module(gpu.func(abstract-result)))' %s | FileCheck %s
+// RUN: fir-test-opt -pass-pipeline='builtin.module(gpu.module(gpu.func(abstract-result)))' %s | FileCheck %s
 
 gpu.module @test {
  gpu.func @_QMinterval_mPtest1(%arg0: !fir.ref<!fir.type<_QMinterval_mTinterval{inf:f32,sup:f32}>>, %arg1: !fir.ref<f32>) -> !fir.type<_QMinterval_mTinterval{inf:f32,sup:f32}> {
diff --git a/flang/test/Fir/CUDA/cuda-alloc-free.fir b/flang/test/Fir/CUDA/cuda-alloc-free.fir
index 6194f0071cd796..111ff684d4db4a 100644
--- a/flang/test/Fir/CUDA/cuda...
[truncated]

@llvmbot
Copy link
Member

llvmbot commented Jan 18, 2025

@llvm/pr-subscribers-flang-fir-hlfir

Author: Michał Górny (mgorny)

Changes

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. It also avoids mixing dynamic libMLIR with static libraries (needed for test-related parts) in release executables.

Fixes #121202


Patch is 270.50 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/123473.diff

362 Files Affected:

  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-1.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-2.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-3.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-4.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-5.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-6.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-7.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-8.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-9.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-host-assoc.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-private-allocatable.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-1.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-target-2.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private-ptr.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/alias-analysis-omp-teams-distribute-private.mlir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-after-inlining.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-args.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-dummies.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-equivalence.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-globals.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-internal-proc.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-locals.f90 (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/modref-call-not-fortran.fir (+1-1)
  • (modified) flang/test/Analysis/AliasAnalysis/ptr-component.fir (+1-1)
  • (modified) flang/test/CMakeLists.txt (+1-1)
  • (modified) flang/test/Driver/omp-cse-region-boundary.f90 (+4-4)
  • (modified) flang/test/Fir/CUDA/cuda-abstract-result.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-alloc-free.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-allocate.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-code-gen.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-compiler-generated-names.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-constructor-2.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-constructor.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-data-transfer.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-device-context.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-device-global.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-external-mangling.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-global-addr.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-gpu-launch-func.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-implicit-device-global.f90 (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-launch.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-register-func.fir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-sync-desc.mlir (+1-1)
  • (modified) flang/test/Fir/CUDA/cuda-target-rewrite.mlir (+1-1)
  • (modified) flang/test/Fir/OpenACC/legalize-data.fir (+1-1)
  • (modified) flang/test/Fir/OpenACC/openacc-mappable.fir (+1-1)
  • (modified) flang/test/Fir/OpenACC/propagate-attr-folding.fir (+1-1)
  • (modified) flang/test/Fir/Todo/allocmem.fir (+1-1)
  • (modified) flang/test/Fir/Todo/boxproc_host.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_2.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_3.fir (+1-1)
  • (modified) flang/test/Fir/Todo/coordinate_of_4.fir (+1-1)
  • (modified) flang/test/Fir/Todo/end.fir (+1-1)
  • (modified) flang/test/Fir/Todo/global_len.fir (+1-1)
  • (modified) flang/test/Fir/Todo/len_param_index.fir (+1-1)
  • (modified) flang/test/Fir/Todo/select_case_with_character.fir (+1-1)
  • (modified) flang/test/Fir/Todo/unboxproc.fir (+1-1)
  • (modified) flang/test/Fir/abstract-result-2.fir (+1-1)
  • (modified) flang/test/Fir/abstract-results-bindc.fir (+1-1)
  • (modified) flang/test/Fir/abstract-results.fir (+4-4)
  • (modified) flang/test/Fir/affine-demotion.fir (+1-1)
  • (modified) flang/test/Fir/affine-promotion.fir (+1-1)
  • (modified) flang/test/Fir/already-defined-free.fir (+1-1)
  • (modified) flang/test/Fir/annotate-constant.fir (+1-1)
  • (modified) flang/test/Fir/array-coor-canonicalization.fir (+1-1)
  • (modified) flang/test/Fir/array-copies-pointers.fir (+2-2)
  • (modified) flang/test/Fir/array-modify.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-2.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-3.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-4.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy-cam4.fir (+2-2)
  • (modified) flang/test/Fir/array-value-copy.fir (+1-1)
  • (modified) flang/test/Fir/box-offset.fir (+1-1)
  • (modified) flang/test/Fir/boxaddr-folding.fir (+1-1)
  • (modified) flang/test/Fir/boxproc-2.fir (+1-1)
  • (modified) flang/test/Fir/boxproc-openmp.fir (+1-1)
  • (modified) flang/test/Fir/cg-ops.fir (+1-1)
  • (modified) flang/test/Fir/char-conversion.fir (+1-1)
  • (modified) flang/test/Fir/char01.fir (+1-1)
  • (modified) flang/test/Fir/comdat-present.fir (+2-2)
  • (modified) flang/test/Fir/comdat.fir (+4-4)
  • (modified) flang/test/Fir/commute.fir (+1-1)
  • (modified) flang/test/Fir/compare.fir (+1-1)
  • (modified) flang/test/Fir/constant.fir (+1-1)
  • (modified) flang/test/Fir/convert-fold.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-invalid.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-openmp-and-fir.fir (+1-1)
  • (modified) flang/test/Fir/convert-to-llvm-target.fir (+4-4)
  • (modified) flang/test/Fir/convert-to-llvm.fir (+7-7)
  • (modified) flang/test/Fir/convert-type-desc-to-llvm.fir (+7-7)
  • (modified) flang/test/Fir/coordinate_of_1.fir (+1-1)
  • (modified) flang/test/Fir/coordinateof.fir (+1-1)
  • (modified) flang/test/Fir/cse.fir (+1-1)
  • (modified) flang/test/Fir/cuf-invalid.fir (+1-1)
  • (modified) flang/test/Fir/cuf.mlir (+1-1)
  • (modified) flang/test/Fir/declare-codegen.fir (+3-3)
  • (modified) flang/test/Fir/declare.fir (+1-1)
  • (modified) flang/test/Fir/dispatch.f90 (+1-1)
  • (modified) flang/test/Fir/dummy-scope-codegen.fir (+3-3)
  • (modified) flang/test/Fir/dummy_scope.fir (+2-2)
  • (modified) flang/test/Fir/embox-char.fir (+1-1)
  • (modified) flang/test/Fir/embox-substring.fir (+1-1)
  • (modified) flang/test/Fir/embox-write.fir (+1-1)
  • (modified) flang/test/Fir/external-mangling-emboxproc.fir (+1-1)
  • (modified) flang/test/Fir/external-mangling.fir (+2-2)
  • (modified) flang/test/Fir/field-index.fir (+1-1)
  • (modified) flang/test/Fir/fir-fast-math.fir (+1-1)
  • (modified) flang/test/Fir/fir-int-conversion.fir (+3-3)
  • (modified) flang/test/Fir/fir-ops.fir (+1-1)
  • (modified) flang/test/Fir/fir-types.fir (+1-1)
  • (modified) flang/test/Fir/global-attributes.fir (+2-2)
  • (modified) flang/test/Fir/global-initialization.fir (+1-1)
  • (modified) flang/test/Fir/invalid-types.fir (+1-1)
  • (modified) flang/test/Fir/invalid.fir (+1-1)
  • (modified) flang/test/Fir/is_assumed_size-codegen.fir (+1-1)
  • (modified) flang/test/Fir/logical-convert.fir (+4-4)
  • (modified) flang/test/Fir/loop01.fir (+2-2)
  • (modified) flang/test/Fir/loop02.fir (+2-2)
  • (modified) flang/test/Fir/loop03.fir (+1-1)
  • (modified) flang/test/Fir/memory-allocation-opt-2.fir (+1-1)
  • (modified) flang/test/Fir/memory-allocation-opt.fir (+1-1)
  • (modified) flang/test/Fir/memref-data-flow.fir (+1-1)
  • (modified) flang/test/Fir/non-trivial-procedure-binding-description.f90 (+1-1)
  • (modified) flang/test/Fir/omp-declare-target-data.fir (+1-1)
  • (modified) flang/test/Fir/rebox-susbtring.fir (+1-1)
  • (modified) flang/test/Fir/rebox_assumed_rank_codegen.fir (+1-1)
  • (modified) flang/test/Fir/recursive-type.fir (+4-4)
  • (modified) flang/test/Fir/rename-msvc-libm.fir (+2-2)
  • (modified) flang/test/Fir/struct-passing-aarch64-byval.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-loongarch64-byreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-x86-64-one-field-inreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-passing-x86-64-several-fields-inreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-aarch64.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-loongarch64-byreg.fir (+1-1)
  • (modified) flang/test/Fir/struct-return-x86-64.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-arg-position.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-boxchar.fir (+7-7)
  • (modified) flang/test/Fir/target-rewrite-char-proc.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-complex-10-x86.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-complex.fir (+11-11)
  • (modified) flang/test/Fir/target-rewrite-complex16.fir (+2-2)
  • (modified) flang/test/Fir/target-rewrite-integer-loongarch64.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-integer.fir (+7-7)
  • (modified) flang/test/Fir/target-rewrite-selective-no-struct.fir (+1-1)
  • (modified) flang/test/Fir/target-rewrite-selective.fir (+2-2)
  • (modified) flang/test/Fir/target-rewrite-target-cpu.fir (+3-3)
  • (modified) flang/test/Fir/target-rewrite-target-features.fir (+3-3)
  • (modified) flang/test/Fir/target-rewrite-triple.fir (+2-2)
  • (modified) flang/test/Fir/tbaa.fir (+2-2)
  • (modified) flang/test/Fir/types-to-llvm.fir (+1-1)
  • (modified) flang/test/Fir/undo-complex-pattern.fir (+1-1)
  • (modified) flang/test/Fir/vector-always-cfg.fir (+1-1)
  • (modified) flang/test/Fir/vector-always.fir (+1-1)
  • (modified) flang/test/HLFIR/all-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/all-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/all.fir (+1-1)
  • (modified) flang/test/HLFIR/any-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/any-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/any.fir (+1-1)
  • (modified) flang/test/HLFIR/apply-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/apply.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr-codegen-polymorphic.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/as_expr.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-bufferize.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-codegen-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/assign-side-effects.fir (+1-1)
  • (modified) flang/test/HLFIR/assign.fir (+1-1)
  • (modified) flang/test/HLFIR/associate-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/associate.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-destroy-for-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-end-associate-for-derived.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-poly-expr.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize-workshare.fir (+1-1)
  • (modified) flang/test/HLFIR/bufferize01.fir (+1-1)
  • (modified) flang/test/HLFIR/char_assign.fir (+1-1)
  • (modified) flang/test/HLFIR/char_extremum-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/char_extremum.fir (+1-1)
  • (modified) flang/test/HLFIR/concat-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/concat.fir (+1-1)
  • (modified) flang/test/HLFIR/convert-assign-inside-openacc-recipe.fir (+1-1)
  • (modified) flang/test/HLFIR/copy-in-out-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/copy-in-out.fir (+1-1)
  • (modified) flang/test/HLFIR/count-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/count-lowering-default-int-kinds.fir (+1-1)
  • (modified) flang/test/HLFIR/count-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/count.fir (+1-1)
  • (modified) flang/test/HLFIR/cshift-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/declare-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/declare.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen-complex-part.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen-component-refs.fir (+1-1)
  • (modified) flang/test/HLFIR/designate-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/designate.fir (+1-1)
  • (modified) flang/test/HLFIR/destroy-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/destroy.fir (+1-1)
  • (modified) flang/test/HLFIR/dot_product-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/dot_product.fir (+1-1)
  • (modified) flang/test/HLFIR/dummy_scope.fir (+2-2)
  • (modified) flang/test/HLFIR/element-addr.fir (+1-1)
  • (modified) flang/test/HLFIR/element-codegen-issue-118922.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-codegen-nested.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-cse.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental-shallow-copy.fir (+1-1)
  • (modified) flang/test/HLFIR/elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/elsewhere.fir (+1-1)
  • (modified) flang/test/HLFIR/eval_in_mem-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/eval_in_mem.fir (+1-1)
  • (modified) flang/test/HLFIR/expr-type.fir (+1-1)
  • (modified) flang/test/HLFIR/extents-of-shape-of.f90 (+1-1)
  • (modified) flang/test/HLFIR/forall-index.fir (+2-2)
  • (modified) flang/test/HLFIR/forall.fir (+1-1)
  • (modified) flang/test/HLFIR/forall_mask.fir (+1-1)
  • (modified) flang/test/HLFIR/get_length.fir (+2-2)
  • (modified) flang/test/HLFIR/get_length_codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/getextent.fir (+1-1)
  • (modified) flang/test/HLFIR/inline-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/inline-hlfir-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/invalid.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul.fir (+1-1)
  • (modified) flang/test/HLFIR/matmul_transpose.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/maxloc.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/maxval.fir (+1-1)
  • (modified) flang/test/HLFIR/memory-effects.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/minloc.fir (+1-1)
  • (modified) flang/test/HLFIR/minval-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/minval-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/minval.fir (+1-1)
  • (modified) flang/test/HLFIR/mul_transpose.f90 (+4-4)
  • (modified) flang/test/HLFIR/no_reassoc-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/no_reassoc.fir (+1-1)
  • (modified) flang/test/HLFIR/null-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/null.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-array-slice-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-eval_in_mem.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-leslie3d.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-non-realloc-assignment.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization-same-ptr-elemental.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-bufferization.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-scalar-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/opt-variable-assign-omp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/forall-codegen-fuse-assignments.fir (+2-2)
  • (modified) flang/test/HLFIR/order_assignments/forall-codegen-no-conflict.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/forall-issue120190.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/impure-where.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/inlined-stack-temp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/lhs-conflicts-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/runtime-stack-temp.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/saving-mask-and-rhs.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/user-defined-assignment-finalization.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/user-defined-assignment.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/vector-subscripts-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/vector-subscripts-scheduling.fir (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/where-cleanup.f90 (+1-1)
  • (modified) flang/test/HLFIR/order_assignments/where-codegen-no-conflict.fir (+1-1)
  • (modified) flang/test/HLFIR/parent_comp-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/parent_comp.fir (+1-1)
  • (modified) flang/test/HLFIR/product-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/product.fir (+1-1)
  • (modified) flang/test/HLFIR/region-assign.fir (+1-1)
  • (modified) flang/test/HLFIR/set_length-codegen.fir (+1-1)
  • (modified) flang/test/HLFIR/set_length.fir (+1-1)
  • (modified) flang/test/HLFIR/shapeof-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/shapeof.fir (+2-2)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-dotproduct.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-matmul.fir (+3-3)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics-sum.fir (+1-1)
  • (modified) flang/test/HLFIR/simplify-hlfir-intrinsics.fir (+1-1)
  • (modified) flang/test/HLFIR/sum-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/sum.fir (+1-1)
  • (modified) flang/test/HLFIR/transpose-lowering.fir (+1-1)
  • (modified) flang/test/HLFIR/transpose.fir (+1-1)
  • (modified) flang/test/HLFIR/where.fir (+1-1)
  • (modified) flang/test/Intrinsics/math-codegen.fir (+63-63)
  • (modified) flang/test/Lower/CUDA/cuda-data-attribute.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-kernel-calls.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf (+1-1)
  • (modified) flang/test/Lower/CUDA/cuda-proc-attribute.cuf (+1-1)
  • (modified) flang/test/Lower/HLFIR/elemental-result-length.f90 (+1-1)
  • (modified) flang/test/Lower/HLFIR/internal-procedures-bindc-host.f90 (+1-1)
  • (modified) flang/test/Lower/HLFIR/substrings.f90 (+1-1)
  • (modified) flang/test/Lower/Intrinsics/achar.f90 (+2-2)
  • (modified) flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90 (+2-2)
  • (modified) flang/test/Lower/array-character.f90 (+1-1)
  • (modified) flang/test/Lower/select-type-2.f90 (+1-1)
  • (modified) flang/test/Lower/select-type-2.fir (+1-1)
  • (modified) flang/test/Lower/select-type.f90 (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-alloca.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-binding.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-cleanup.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-copyprivate.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-correct-parallelize.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-nested.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-no-single.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-nowait.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-todo-cfg-dom.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/lower-workshare-todo-cfg.mlir (+1-1)
  • (modified) flang/test/Transforms/OpenMP/should-use-workshare-lowering.mlir (+1-1)
  • (modified) flang/test/Transforms/constant-argument-globalisation-2.fir (+1-1)
  • (modified) flang/test/Transforms/constant-argument-globalisation.fir (+1-1)
  • (modified) flang/test/Transforms/debug-107988.fir (+1-1)
  • (modified) flang/test/Transforms/debug-92391.fir (+1-1)
  • (modified) flang/test/Transforms/debug-96314.fir (+1-1)
  • (modified) flang/test/Transforms/debug-allocatable-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-rank-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-shape-array-2.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-shape-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-assumed-size-array.fir (+1-1)
  • (modified) flang/test/Transforms/debug-char-type-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-class-type.fir (+1-1)
  • (modified) flang/test/Transforms/debug-complex-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-derived-type-1.fir (+1-1)
  • (modified) flang/test/Transforms/debug-derived-type-2.fir (+1-1)
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/CMakeLists.txt b/flang/test/CMakeLists.txt
index cab214c2ef4c8c..2f5347b61da366 100644
--- a/flang/test/CMakeLists.txt
+++ b/flang/test/CMakeLists.txt
@@ -64,7 +64,7 @@ set(FLANG_TEST_DEPENDS
   count
   not
   module_files
-  fir-opt
+  fir-test-opt
   tco
   bbc
   llvm-dis
diff --git a/flang/test/Driver/omp-cse-region-boundary.f90 b/flang/test/Driver/omp-cse-region-boundary.f90
index 726ac4899ba708..f14cfa704c33d8 100644
--- a/flang/test/Driver/omp-cse-region-boundary.f90
+++ b/flang/test/Driver/omp-cse-region-boundary.f90
@@ -1,10 +1,10 @@
 !This test checks that when compiling an OpenMP program for the target device
 !CSE is not done across target op region boundaries. It also checks that when
 !compiling for the host CSE is done.
-!RUN: %flang_fc1 -fopenmp-is-target-device -emit-mlir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
-!RUN: %flang_fc1 -emit-mlir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
-!RUN: bbc -fopenmp-is-target-device -emit-fir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
-!RUN: bbc -emit-fir -fopenmp %s -o - | fir-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
+!RUN: %flang_fc1 -fopenmp-is-target-device -emit-mlir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
+!RUN: %flang_fc1 -emit-mlir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
+!RUN: bbc -fopenmp-is-target-device -emit-fir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-DEVICE
+!RUN: bbc -emit-fir -fopenmp %s -o - | fir-test-opt -cse | FileCheck %s -check-prefix=CHECK-HOST
 
 !Constant should be present inside target region.
 !CHECK-DEVICE: omp.target
diff --git a/flang/test/Fir/CUDA/cuda-abstract-result.mlir b/flang/test/Fir/CUDA/cuda-abstract-result.mlir
index 8c59487ca5cd5c..6dd523f0b66ac9 100644
--- a/flang/test/Fir/CUDA/cuda-abstract-result.mlir
+++ b/flang/test/Fir/CUDA/cuda-abstract-result.mlir
@@ -1,4 +1,4 @@
-// RUN: fir-opt -pass-pipeline='builtin.module(gpu.module(gpu.func(abstract-result)))' %s | FileCheck %s
+// RUN: fir-test-opt -pass-pipeline='builtin.module(gpu.module(gpu.func(abstract-result)))' %s | FileCheck %s
 
 gpu.module @test {
  gpu.func @_QMinterval_mPtest1(%arg0: !fir.ref<!fir.type<_QMinterval_mTinterval{inf:f32,sup:f32}>>, %arg1: !fir.ref<f32>) -> !fir.type<_QMinterval_mTinterval{inf:f32,sup:f32}> {
diff --git a/flang/test/Fir/CUDA/cuda-alloc-free.fir b/flang/test/Fir/CUDA/cuda-alloc-free.fir
index 6194f0071cd796..111ff684d4db4a 100644
--- a/flang/test/Fir/CUDA/cuda...
[truncated]

Copy link
Contributor

@clementval clementval left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fir-opt does not really need to be installed. How is it not possible to keep a single executable. I don't see a mlir-test-opt. If this is really needed, fir-opt is the one that need to be used in the lit test because it is the first use case for this tool.

@mgorny
Copy link
Member Author

mgorny commented Jan 19, 2025

Are you saying I should just make fir-opt entirely conditional to FLANG_INCLUDE_TESTS and stop installing it?

@mgorny
Copy link
Member Author

mgorny commented Jan 19, 2025

I don't see a mlir-test-opt.

I haven't noticed the problem with mlir-opt. With the limited time I have, I am focusing on the issues that are actually preventing us from packaging Flang on Gentoo.

@clementval
Copy link
Contributor

clementval commented Jan 19, 2025

Are you saying I should just make fir-opt entirely conditional to FLANG_INCLUDE_TESTS and stop installing it?

FLANG_INCLUDE_TESTS is related to unit tests. But I see it was hijacked to test some passes. What is the exact issue that you are seeing. There is no passes that depends on FLANG_INCLUDE_TESTS but registration that are conditional on it. I have seeing so open issue about linking issue with FIROpenACCInterfaces so it might be related?

Are you referring to:

if(FLANG_INCLUDE_TESTS)
  set(test_libs
    FIRTestAnalysis
    FIRTestOpenACCInterfaces
    MLIRTestIR
    )
endif()

and this

#ifdef FLANG_INCLUDE_TESTS
  fir::test::registerTestFIRAliasAnalysisPass();
  fir::test::registerTestFIROpenACCInterfacesPass();
  mlir::registerSideEffectTestPasses();
#endif

Maybe these tests are just not at the right place.

Anyway if you want to package flang you probably don't want FLANG_INCLUDE_TESTS to be set. That's smth you want for development of the compiler, not really for an install.

Might be related: #123377

@mgorny
Copy link
Member Author

mgorny commented Jan 19, 2025

Yes, that's the bits I'm referring to. I even explicitly disabled them to confirm that lit tests fail afterwards.

For packaging, i want to run tests with exactly the same version I'm going to install. Firstly, because building everything twice would be a huge waste of time. Secondly, because it wouldn't guarantee that production build is actually free of bugs that don't show up in development builds.

Copy link
Contributor

@jeanPerier jeanPerier left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with @clementval. fir-opt main goal is being a test/development tool, so having an extra tool is weird.

MLIR also has an MLIR_INCLUDE_TESTS cmake option that controls mlir-opt linked libraries (see here)

It's default value is the one of LLVM_INCLUDE_TESTS (set here).

Are you also setting LLVM_INCLUDE_TESTS (or MLIR_INCLUDE_TESTS) to ON when building for packages?

@mgorny
Copy link
Member Author

mgorny commented Jan 20, 2025

If the Gentoo user enabled running tests for the package, then yes, everything is built with the include vars set to ON. If the user disabled running tests, they're set to OFF.

@clementval
Copy link
Contributor

If the Gentoo user enabled running tests for the package, then yes, everything is built with the include vars set to ON. If the user disabled running tests, they're set to OFF.

What's the exact error that you are seeing without your patch? Since mlir-opt does not need a double executable, I don't see why this is required here. There should be a missing dependency or smth like that.

@mgorny
Copy link
Member Author

mgorny commented Jan 20, 2025

There is no error. This is a QA policy violation. We'd get an error if the whole file was missing but our tooling is not capable of detecting such a subtle change.

I still do not understand this. If the file is not supposed to be installed, why is it installed? And if it is only needed for testing, why is there a different variant for non-test scenario in the first place?

@clementval
Copy link
Contributor

fir-opt has the exact same purpose than mlir-opt and just include the dialects that are specific to flang. If you don't have an issue with mlir-opt then there should not be one with fir-opt.

This is a QA policy violation.

Policy that comes from where?

I still do not understand this. If the file is not supposed to be installed, why is it installed? And if it is only needed for testing, why is there a different variant for non-test scenario in the first place?

Well it's an llvm executable and they are all installed. Like all the mlir-xxx tools. It might be useful for some users to be able to execute flang passes with such a tool but I see it more as a dev tools than a lambda user tool.

I'm still confused of what you are trying to solve if you don't have any error. Can you describe your process and where exactly it poses a problem?

@mgorny
Copy link
Member Author

mgorny commented Jan 20, 2025

If you don't have an issue with mlir-opt then there should not be one with fir-opt.

I do have an issue with mlir-opt, now that you've made me aware of it.

This is a QA policy violation.

Policy that comes from where?

It's a downstream Gentoo policy. I've mentioned that what I'm trying to do is get Flang finally packaged on Gentoo. For this, we need a build that is reproducible whether tests are enabled or not.

@thesamesam
Copy link
Member

thesamesam commented Jan 20, 2025

The issue is, we want tests for exactly the same build. That is, building tests should simply enable more targets, building of tests, and running of them. It should not affect the installed image (because then we're not sure we're 100% testing the same thing, nor does our tooling expect enabling tests to vary installed binaries).

It's okay for us (though not ideal) if a new tool gets installed for tests, but not great for us at all if an existing tool is mutated based on whether tests are enabled.

@Jannik2099
Copy link
Contributor

Anyway if you want to package flang you probably don't want FLANG_INCLUDE_TESTS to be set. That's smth you want for development of the compiler, not really for an install.

This isn't how the vast majority of software behaves, where enabling tests does not affect the codegen of the to-be-installed build artifacts.

It's not just an issue for source distros like Gentoo, but really every linux distribution and in-house user of flang. It means that every release pipeline has to build flang twice just to run the tests (which many distros generally do for all packages)

I'm aware that fir-opt is mainly used in flang development, but if you do a quick github search you'll find that dozens of distributions and other software providers have it listed in package BOMs / summaries and similar, meaning it's been distributed to users for a while now.

@clementval
Copy link
Contributor

I do have an issue with mlir-opt, now that you've made me aware of it.

So a solution should be found for both.

fir-opt was initially not including conditional code like that. I would have to go back to see why it was added. I would be in favor of getting rid of this instead of building two executable. Anyway fir-opt is the one that should be used in the vast majority of lit test. I guess only two tests (the ones that test the conditionally registered path) requires the special FLANG_INCLUDE_TESTS=ON version of the tool.

@clementval
Copy link
Contributor

clementval commented Jan 20, 2025

The issue is, we want tests for exactly the same build. That is, building tests should simply enable more targets, building of tests, and running of them. It should not affect the installed image (because then we're not sure we're 100% testing the same thing, nor does our tooling expect enabling tests to vary installed binaries).

So are you are changing the value of FLANG_INCLUDE_TESTS during this process right? Just trying to understand better to be able to help you out here.

In my opinion FLANG_INCLUDE_TESTS should not be used in fir-opt but I'm trying to understand why it was added.

@mgorny
Copy link
Member Author

mgorny commented Jan 20, 2025

No, we aren't. We are just enabling it, then running tests, then running the install target.

@clementval
Copy link
Contributor

clementval commented Jan 20, 2025

No, we aren't. We are just enabling it, then running tests, then running the install target.

So the executable for fir-opt is always the same. Like if there is no condition. I'm even more confused now to understand where the problem is.

If the solution is really to have two executables, fir-opt must be used for all the tests that do not requires the extra passes.

I have pinged one of the author of one of the conditionally registered pass to see what was the rationale.

@mgorny
Copy link
Member Author

mgorny commented Jan 20, 2025

No, we aren't. We are just enabling it, then running tests, then running the install target.

So the executable for fir-opt is always the same. Like if there is no condition. I'm even more confused now to understand where the problem is.

Sorry, let me rephrase. There are two possible build pipelines:

  1. Pipeline with testing: we build with tests enabled, run tests, install.
  2. Pipeline without testing: we build with tests disabled, install.

Both pipelines must produce the same result.

@clementval
Copy link
Contributor

No, we aren't. We are just enabling it, then running tests, then running the install target.

So the executable for fir-opt is always the same. Like if there is no condition. I'm even more confused now to understand where the problem is.

Sorry, let me rephrase. There are two possible build pipelines:

  1. Pipeline with testing: we build with tests enabled, run tests, install.
  2. Pipeline without testing: we build with tests disabled, install.

Both pipelines must produce the same result.

Ok now that makes more sense to me. So in order to make this move forward I would suggest to use the newly created executable only for the alias analysis tests and flang/test/Fir/OpenACC/openacc-mappable.fir so that we modify less file. Ultimately would should find a way to have a single executable but that might require more time.

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 llvm#121202
@mgorny
Copy link
Member Author

mgorny commented Jan 21, 2025

Updated as requested. I've also had to add it to the following two tests:

  Flang :: HLFIR/assign-side-effects.fir
  Flang :: HLFIR/memory-effects.fir

@clementval
Copy link
Contributor

Updated as requested. I've also had to add it to the following two tests:

  Flang :: HLFIR/assign-side-effects.fir
  Flang :: HLFIR/memory-effects.fir

Yeah looks like they depends on the mlir pass that is added conditionally. We need to add a ! REQUIRE line that these tests depends on fir-opt-test otherwise they will fail when FLANG_INCLUDE_TESTS is not set.

@mgorny
Copy link
Member Author

mgorny commented Jan 21, 2025

But tests are only added if FLANG_INCLUDE_TESTS is enabled:

if (FLANG_INCLUDE_TESTS)
add_subdirectory(test)

@clementval
Copy link
Contributor

But tests are only added if FLANG_INCLUDE_TESTS is enabled:

if (FLANG_INCLUDE_TESTS)
add_subdirectory(test)

Oh right I forgot about that. Then why not building fir-opt only if FLANG_INCLUDE_TESTS is enabled? Or would that break your policy as well?

@razvanlupusoru
Copy link
Contributor

Ok now that makes more sense to me. So in order to make this move forward I would suggest to use the newly created executable only for the alias analysis tests and flang/test/Fir/OpenACC/openacc-mappable.fir so that we modify less file. Ultimately would should find a way to have a single executable but that might require more time.

I agree that having a single executable seems like a good goal - it otherwise becomes confusing what all of these tools are doing. From my perspective though - I am OK with the change to use fir-opt-test tool for the passes/tests I added.

@mgorny
Copy link
Member Author

mgorny commented Jan 21, 2025

But tests are only added if FLANG_INCLUDE_TESTS is enabled:

if (FLANG_INCLUDE_TESTS)
add_subdirectory(test)

Oh right I forgot about that. Then why not building fir-opt only if FLANG_INCLUDE_TESTS is enabled? Or would that break your policy as well?

I personally don't mind doing that — in fact, I pointed out earlier that we may just stop installing it instead, but as @Jannik2099 has pointed out, it's been installed for a while now, so other projects may actually be relying on it being installed, and removing it may break them.

So if you're okay with that risk, I can surely update the pull request to make fir-opt a pure test tool.

@mgorny
Copy link
Member Author

mgorny commented Jan 21, 2025

That said, it'd probably make sense to handle mlir-opt the same way, so it would be best to agree on the same solution for both projects. Any suggestion whom I should CC here for that?

@clementval
Copy link
Contributor

That said, it'd probably make sense to handle mlir-opt the same way, so it would be best to agree on the same solution for both projects. Any suggestion whom I should CC here for that?

I agree that we should have the same solution for both. You might open a thread on discourser to get some feedback for the mlir-opt tool https://discourse.llvm.org/c/mlir/31

@mgorny
Copy link
Member Author

mgorny commented Jan 21, 2025

Started https://discourse.llvm.org/t/different-code-in-mlir-tools-depending-on-mlir-include-tests-and-fir-opt-flang-include-tests/84184

@clementval
Copy link
Contributor

The pre commit CI is failing because fir-opt-test is not built. You should add it to FLANG_TEST_DEPENDS.

@clementval
Copy link
Contributor

Ok this look ok now. Let's just wait a couple of days to see where the discourse discussion goes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
flang:driver flang:fir-hlfir flang:openmp flang Flang issues not falling into any other category openacc
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[flang] Different fir-opt tool is produced depending on FLANG_INCLUDE_TESTS
7 participants