mirror-llvm-project/flang/test/Fir
Eugene Epshteyn 95ee221ea8
[flang] Delete the legacy array-value operations from FIR (#213159)
Nothing in flang has produced fir.array_load, fir.array_fetch,
fir.array_update, fir.array_modify, fir.array_access, fir.array_amend,
or fir.array_merge_store since the legacy (non-HLFIR) expression
lowering was deleted (#210385, #210621, #210639, #210873), and the
array-value-copy pass that legalized them is gone (#211816, #212643).
Delete the operations and the surface that existed only for them:

- FIROps.td: the "Array value operations" section including the
copy-in/copy-out design comment; FIROps.cpp: the ops verifiers, effects
and getExtents. fir.array_coor is unrelated and stays, as does the
validTypeParams helper shared with fir.pack_array.
- Tests: the ops roundtrip/verifier blocks in fir-ops.fir and
invalid.fir; scaffolding rewrites in inline-elemental.fir (store via
hlfir.designate; hlfir.apply-in-do_loop coverage preserved),
loop-versioning.fir @test4 (the versioned loops are untouched), and
simplifyintrinsics.fir (inert copy-back loops dropped; no CHECK lines
affected).
- Docs: FIRArrayOperations.md (+ the index.md toctree line); past-tense
updates in HighLevelFIR.md; a stale comment in MutableBox.h; a
release-note entry recording the removal for downstream projects.
FIRLangRef is generated from FIROps.td and follows automatically.

Assisted-by: AI
2026-07-31 08:47:13 -04:00
..
CUDA [mlir][gpu] Add stream-based async mode to gpu.launch (#213031) 2026-07-30 19:30:51 +02:00
FirToSCF [flang] Set nsw on FIRToSCF loop induction increments (#211796) 2026-07-24 08:29:08 -07:00
MIF [flang][MIF] Fix COSHAPE and THIS_IMAGE(coarray) type mismatch for non-i64 kinds (#208429) 2026-07-09 18:49:08 +02:00
OpenACC [flang] Add a pass to get OpenACC device ptr for CUDA kernel (#212299) 2026-07-30 14:06:28 -07:00
OpenMP [Flang][MLIR][OpenMP] Explicitly represent omp.target kernel types (#186166) 2026-06-25 12:41:54 +01:00
SelectOpsConversion [flang][Transforms] Add SelectOpsConversion pass (#212977) 2026-07-30 19:53:45 +02:00
Todo [flang][CodeGen] Replace fir.select* FIR-to-LLVM patterns with stubs that emit conversion errors (#212978) 2026-07-31 09:26:26 +02:00
abstract-result-2.fir
abstract-results-bindc.fir
abstract-results.fir
addrof.fir
affine-demotion.fir
affine-promotion.fir [flang][fir] Support promoting fir.do_loop with results to affine.for. (#137790) 2025-05-09 10:55:21 +08:00
alloc-32.fir [flang] handle allocation of zero-sized objects (#149165) 2025-07-17 23:52:48 -04:00
alloc-aligned-device.fir [Flang][Fir] Set default alignment to 64 on inlineAllocation for arrays (#208781) 2026-07-13 10:23:16 -05:00
alloc-aligned-omp.fir [Flang][Fir] Set default alignment to 64 on inlineAllocation for arrays (#208781) 2026-07-13 10:23:16 -05:00
alloc-aligned.fir [Flang][Fir] Set default alignment to 64 on inlineAllocation for arrays (#208781) 2026-07-13 10:23:16 -05:00
alloc.fir [flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) 2025-11-10 17:33:43 -05:00
allocation-placement-pipeline.fir [flang] Wire allocation-placement into the optimizer pipeline (default off) - memory passes unification [3/5] (#210745) 2026-07-29 13:31:04 +02:00
already-defined-free.fir
annotate-constant.fir
array-coor-canonicalization-acc.fir Reland "[flang][openacc] Prevent SimplifyArrayCoorOp from folding rebox used by ACC data entry ops (#187616)" (#187626) 2026-03-19 21:12:20 -07:00
array-coor-canonicalization-cuf.fir [flang][cuda] Preserve fir.rebox captured by cuf.kernel via CUDAKernelOpInterface (#193890) 2026-04-28 09:08:13 -07:00
array-coor-canonicalization.fir [flang] Fold reads of fir.create_box components (#210388) 2026-07-20 08:10:57 -07:00
array-coor.fir [flang] Do not set nuw flag on mul/add/getelementptr when lowering array_coor from a box base. (#198014) 2026-05-20 09:06:01 -07:00
array_coor_nuw_nusw.fir [flang] Drop nuw on XArrayCoor for non-positive slice steps (#212639) 2026-07-29 06:16:55 -07:00
arrayset.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
assumed-size-ops-codegen.fir [flang][FIR] add fir.assumed_size_extent to abstract assumed-size extent encoding (#164452) 2025-10-22 11:46:18 +02:00
assumed-size-ops-folding.fir [flang][FIR] add fir.assumed_size_extent to abstract assumed-size extent encoding (#164452) 2025-10-22 11:46:18 +02:00
assumed-size-ops-roundtrip.fir [flang][FIR] add fir.assumed_size_extent to abstract assumed-size extent encoding (#164452) 2025-10-22 11:46:18 +02:00
basic-program.fir [flang][Transforms] Add SelectOpsConversion pass (#212977) 2026-07-30 19:53:45 +02:00
bitcast-fold.fir [flang] preserve representation of logical constants from TRANSFER (#192417) 2026-04-20 10:19:48 +02:00
box-dims-folding.fir [flang] Fold reads of fir.create_box components (#210388) 2026-07-20 08:10:57 -07:00
box-elesize-canonicalize.fir [flang] implements a rewrite pattern to constant fold fir::BoxEleSizeOp (#192320) 2026-04-15 12:50:56 -07:00
box-offset-codegen.fir [Flang] - Handle BoxCharType in fir.box_offset op (#141713) 2025-06-06 10:48:07 -05:00
box-offset.fir [Flang] - Handle BoxCharType in fir.box_offset op (#141713) 2025-06-06 10:48:07 -05:00
box-total-elements-fold.fir [flang] Added fir.is_contiguous_box and fir.box_total_elements ops. (#131047) 2025-03-14 08:25:05 -07:00
box-typecode.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
box.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
box_addr-codegen-in-global.fir [flang][FIR] enable fir.box_addr codegen inside fir.global (#157120) 2025-09-08 10:15:22 +02:00
boxaddr-folding.fir [flang] Fold reads of fir.create_box components (#210388) 2026-07-20 08:10:57 -07:00
boxchar.fir
boxproc-2.fir
boxproc-openmp.fir
boxproc-safe-trampoline.fir [flang] Add runtime trampoline pool for W^X compliance (#183108) 2026-03-10 16:16:05 +05:30
boxproc.fir [mlir][arith] Canonicalize cmpi select to min/max (#201737) 2026-06-05 18:37:16 +08:00
cfg-conversion-if.fir [mlir][flang] Added Weighted[Region]BranchOpInterface's. (#142079) 2025-06-17 16:14:13 -07:00
cg-ops.fir
char-conversion.fir
char01.fir
comdat-present.fir
comdat.fir [flang] Add 32-bit AIX target specific in order to build 32-bit flang-rt (#136051) 2025-04-17 14:26:36 -04:00
commute.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
compare.fir
constant.fir
convert-and-fold-insert-on-range.fir [flang] translate derived type array init to attribute if possible (#140268) 2025-05-20 16:11:27 +02:00
convert-fold.fir
convert-memref-codegen.mlir [flang][fir] Support memref to memref fir.convert (#194954) 2026-04-30 13:12:32 +00:00
convert-nontemporal-to-llvm.fir [Flang] Apply nusw nuw flags on array_coor gep's (#184573) 2026-03-13 11:03:53 +00:00
convert-to-llvm-access-group.fir [flang] Fix missed access group attribute when converting FIR to LLVM dialect. (#195376) 2026-05-04 10:51:42 -07:00
convert-to-llvm-invalid.fir [flang][CodeGen] Replace fir.select* FIR-to-LLVM patterns with stubs that emit conversion errors (#212978) 2026-07-31 09:26:26 +02:00
convert-to-llvm-openmp-and-fir.fir [Flang][MLIR][OpenMP] Explicitly represent omp.target kernel types (#186166) 2026-06-25 12:41:54 +01:00
convert-to-llvm-target.fir [flang] Use correct int extension flags for C-ABI calls on aarch64 (#137105) 2025-04-25 06:57:56 -07:00
convert-to-llvm.fir [flang][CodeGen] Replace fir.select* FIR-to-LLVM patterns with stubs that emit conversion errors (#212978) 2026-07-31 09:26:26 +02:00
convert-type-desc-to-llvm.fir
convert.fir
coordinate_of_1.fir
coordinateof.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
copy-codegen.fir [flang] use DataLayout instead of GEP to compute element size (#140235) 2025-05-19 13:59:09 +02:00
create-box-codegen.fir [flang] Added fir.create_box operation. (#210220) 2026-07-17 09:58:41 -07:00
cse.fir [flang] Add lowering of volatile references (#132486) 2025-04-30 08:46:33 -07:00
cuf-invalid.fir [flang][cuda] Use a reference for asyncObject (#140614) 2025-05-19 15:02:53 -07:00
cuf.mlir [flang][cuda] Use a reference for asyncObject (#140614) 2025-05-19 15:02:53 -07:00
declare-codegen.fir [flang][debug] Make common blocks data extraction more robust. (#168752) 2025-11-20 14:28:56 +00:00
declare.fir [flang] Added storage specification for [hl]fir.declare. (#155325) 2025-08-27 19:48:44 -07:00
declare_value-codegen.fir [flang][debug] Always include (kind=X) suffix in debug type names (#186255) 2026-03-24 13:40:35 +00:00
derived-type-aliases.fir [flang][FIR] implement asm alias interface for fir.type under option (#208665) 2026-07-13 10:14:35 +02:00
dispatch.f90 [Flang] External subprograms should be allowed as proc_target in procedure pointers. (#183268) 2026-04-13 18:01:35 +05:30
do_concurrent.fir [flang][do concurrent] Re-model reduce to match reductions are modelled in OpenMP and OpenACC (#145837) 2025-07-11 06:39:30 +02:00
dso-local-macho.fir [Flang] mark safe external globals as dso_local (#189709) 2026-04-08 11:13:21 -05:00
dso-local.fir [flang] Do not mark CUDA device variables as dso_local (#194500) 2026-04-28 18:17:18 -07:00
dummy-scope-codegen.fir
dummy_scope.fir
embox-char.fir [flang] Add setMemcpyAlignmentArgAttrs and use it for box-load memcpy (#185126) 2026-03-09 10:14:59 -04:00
embox-substring.fir [flang] use DataLayout instead of GEP to compute element size (#140235) 2025-05-19 13:59:09 +02:00
embox-write.fir
embox.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
external-mangling-emboxproc.fir
external-mangling.fir
fake_use-codegen.fir [flang][debug] generate llvm.fake.use for arguments at -g and O0 (#187044) 2026-04-24 09:21:01 +02:00
field-index.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
fir-fast-math.fir
fir-int-conversion.fir
fir-ops.fir [flang] Delete the legacy array-value operations from FIR (#213159) 2026-07-31 08:47:13 -04:00
fir-types.fir
global-attributes.fir
global-initialization.fir [fir] Lower to llvm int constants with appropriately typed int attrs (#195861) 2026-05-06 09:39:24 +02:00
global.fir [MLIR] Zero-extend unsigned and 1-bit values when translating IntegerAttr (#169751) 2025-12-04 12:05:36 -08:00
ignore-missing-type-descriptor.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
inline.fir
invalid-types.fir [flang][nfc] Support volatile on ref, box, and class types (#134386) 2025-04-07 06:51:02 -07:00
invalid.fir [flang] Delete the legacy array-value operations from FIR (#213159) 2026-07-31 08:47:13 -04:00
is-contiguous-box-fold.fir [flang] Added fir.is_contiguous_box and fir.box_total_elements ops. (#131047) 2025-03-14 08:25:05 -07:00
is_assumed_size-codegen.fir
local.fir [flang] Erase fir.local ops before lowering fir to llvm (#143687) 2025-06-12 05:58:55 +02:00
logical-convert.fir [fir] Lower to llvm int constants with appropriately typed int attrs (#195861) 2026-05-06 09:39:24 +02:00
logical-ops-fold.fir [flang] preserve logical operations in single FIR operation (#190771) 2026-04-09 18:52:30 +02:00
loop01.fir [flang] Lower plain DO loops without a secondary-induction iter_arg (#207816) 2026-07-20 11:10:54 +00:00
loop02.fir
loop03.fir
loop10.fir
mem2reg.mlir Revert "[flang][mem2reg] promote memory slots through declares" (#204332) 2026-06-17 10:31:07 +00:00
memory-allocation-opt-2.fir
memory-allocation-opt-do-concurrent.fir [flang][MemoryAllocation] do not assume all blocks have terminators (#203902) 2026-06-16 09:39:19 +02:00
memory-allocation-opt.fir
memref-data-flow.fir
non-trivial-procedure-binding-description.f90 [flang][NFC] Strip trailing whitespace from tests (2 of N) 2025-11-10 10:12:24 -07:00
omp-declare-target-data.fir
omp-reduction-embox-codegen.fir [flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) 2025-11-10 17:33:43 -05:00
omp-teams.fir [flang][OpenMP] Add OutlineableOpenMPOpInterface to omp.teams (#131109) 2025-03-13 16:03:19 +01:00
omp_target_allocmem_freemem.fir [OpenMP] Introduce omp.target_allocmem and omp.target_freemem omp dialect ops. (#145464) 2025-08-18 18:15:11 +05:30
optional.fir
pdt.fir [flang][NFC] Characterize allocation based on MemAlloc effect instead of pattern matching (#166806) 2025-11-10 17:33:43 -05:00
peephole.fir
polymorphic.fir [flang] Add setMemcpyAlignmentArgAttrs and use it for box-load memcpy (#185126) 2026-03-09 10:14:59 -04:00
prefetch.fir [Flang] Add FIR and LLVM lowering support for prefetch directive (#167272) 2026-01-05 13:24:10 +05:30
present-absent-if-fold.fir [flang][fir] fix fir.if canonicalization pattern from #205353 (#205757) 2026-06-29 19:12:42 +02:00
print-ir-pass.fir [flang] Add the MLIR pass pipelines for dumping (#183144) 2026-04-23 15:19:22 +01:00
real.fir
rebox-embox-optional-codegen.fir [flang] allow rebox/embox of OPTIONAL (#194319) 2026-04-28 15:00:46 +02:00
rebox-global.fir
rebox-susbtring.fir
rebox.fir Reland "[flang] Added noalias attribute to function arguments. (#140803)" 2025-05-29 13:42:57 -07:00
rebox_assumed_rank_codegen.fir [flang] allow rebox/embox of OPTIONAL (#194319) 2026-04-28 15:00:46 +02:00
recursive-type-tco.fir
recursive-type.fir
rematerialize-fir-box-ops-pipeline.fir [Flang][CodeGen] Rematerialize pure ops with impure implementation (#196352) 2026-05-13 14:29:47 +01:00
rematerialize-fir-box-ops.fir [Flang][CodeGen] Rematerialize pure ops with impure implementation (#196352) 2026-05-13 14:29:47 +01:00
rename-msvc-libm.fir
select.fir [flang][Transforms] Add SelectOpsConversion pass (#212977) 2026-07-30 19:53:45 +02:00
shape-extents.mlir [FIR] add a fir.shape_extents operation (#199361) 2026-06-09 12:19:04 -07:00
shape-to-llvm.mlir [FIR] add a fir.shape_extents operation (#199361) 2026-06-09 12:19:04 -07:00
simd-nontemporal.fir [flang] Fix tests broken by #146734 (#147055) 2025-07-04 14:50:29 +01:00
simplify-region-lite-after-inliner.fir
struct-passing-aarch64-byval.fir
struct-passing-loongarch64-byreg.fir
struct-passing-powerpc64-aix-byval.fir
struct-passing-ppc64le-byval.fir
struct-passing-return-loongarch64-bystack.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-passing-x86-64-byval.fir [NFC][flang] Updated tests with -force-no-alias options. (#156746) 2025-09-04 09:32:02 -07:00
struct-passing-x86-64-one-field-inreg.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-passing-x86-64-several-fields-inreg.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-return-aarch64.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-return-loongarch64-byreg.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-return-powerpc64-aix.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-return-ppc64le.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
struct-return-x86-64.fir [flang] do not rely on existing fir.convert in TargetRewrite (#157413) 2025-09-08 17:22:25 +02:00
target-complex16.f90 [AsmWriter] Change the output syntax of floating-point literals. (#190649) 2026-05-07 13:16:14 -04:00
target-rewrite-arg-position.fir [flang][TargetRewrite] Keep argument attributes consistent after ABI arg shift (#208124) 2026-07-07 18:08:20 -07:00
target-rewrite-boxchar.fir
target-rewrite-char-proc.fir
target-rewrite-complex-10-x86.fir [NFC][flang] Updated tests with -force-no-alias options. (#156746) 2025-09-04 09:32:02 -07:00
target-rewrite-complex.fir [flang] Add 32-bit AIX target specific in order to build 32-bit flang-rt (#136051) 2025-04-17 14:26:36 -04:00
target-rewrite-complex16.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
target-rewrite-fmfs.fir [flang] Propagate fast-math flags in target-rewrite (#135723) 2025-04-15 05:43:32 -07:00
target-rewrite-indirect-calls.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
target-rewrite-integer-loongarch64.fir [flang] also set llvm ABI argument attributes on direct calls (#130736) 2025-03-12 09:55:05 +01:00
target-rewrite-integer.fir [flang] Use correct int extension flags for C-ABI calls on aarch64 (#137105) 2025-04-25 06:57:56 -07:00
target-rewrite-selective-no-struct.fir
target-rewrite-selective.fir [flang] Propagate fast-math flags in target-rewrite (#135723) 2025-04-15 05:43:32 -07:00
target-rewrite-target-abi.fir [Flang] Add target-abi to CodegenSpecifics (#201539) 2026-06-11 08:22:16 -07:00
target-rewrite-target-cpu.fir
target-rewrite-target-features.fir
target-rewrite-triple.fir
target.fir [NFC][flang] Updated tests with -force-no-alias options. (#156746) 2025-09-04 09:32:02 -07:00
tbaa-codegen-records.fir [flang] Add setMemcpyAlignmentArgAttrs and use it for box-load memcpy (#185126) 2026-03-09 10:14:59 -04:00
tbaa-codegen.fir [flang] Do not set nuw flag on mul/add/getelementptr when lowering array_coor from a box base. (#198014) 2026-05-20 09:06:01 -07:00
tbaa-codegen2.fir [flang] Do not set nuw flag on mul/add/getelementptr when lowering array_coor from a box base. (#198014) 2026-05-20 09:06:01 -07:00
tbaa.fir [flang] Do not set nuw flag on mul/add/getelementptr when lowering array_coor from a box base. (#198014) 2026-05-20 09:06:01 -07:00
tco-default-datalayout.fir
tco-explicit-datalayout.fir
type-descriptor.fir
types-to-llvm.fir
undo-complex-pattern.fir
vector-always-cfg.fir
vector-always.fir [flang] Add loop annotation attributes to the loop backedge (#126082) 2025-05-14 07:07:57 -07:00
volatile.fir [flang] Hide strict volatility checks behind flag (#138183) 2025-05-02 09:03:20 -07:00
volatile2.fir [flang] Hide strict volatility checks behind flag (#138183) 2025-05-02 09:03:20 -07:00
widechar.fir