forked from OSchip/llvm-project
e7361469bb
This patch adds the fir.array_amend operation. this op is used later in upstreaming patches for the F95 compliance. The `array_amend` operation marks an array value as having been changed via a reference obtain by an `array_access`. It acts as a logical transaction log that is used to merge the final result back with an `array_merge_store` operation. ```mlir // fetch the value of one of the array value's elements %1 = fir.array_access %v, %i, %j : (!fir.array<?x?xT>, index, index) -> !fir.ref<T> // modify the element by storing data using %1 as a reference %2 = ... %1 ... // mark the array value %new_v = fir.array_amend %v, %2 : (!fir.array<?x?xT>, !fir.ref<T>) -> !fir.array<?x?xT> ``` This patch is part of the upstreaming effort from fir-dev branch. Reviewed By: kiranchandramohan, schweitz Differential Revision: https://reviews.llvm.org/D112448 Co-authored-by: Eric Schweitz <eschweitz@nvidia.com> |
||
---|---|---|
.. | ||
Todo | ||
abstract-results.fir | ||
affine-demotion.fir | ||
affine-promotion.fir | ||
array-value-copy.fir | ||
basic-program.fir | ||
cg-ops.fir | ||
char-conversion.fir | ||
convert-fold.fir | ||
convert-to-llvm-invalid.fir | ||
convert-to-llvm-target.fir | ||
convert-to-llvm.fir | ||
external-mangling-emboxproc.fir | ||
external-mangling.fir | ||
fir-ops.fir | ||
fir-types.fir | ||
invalid-types.fir | ||
invalid.fir | ||
loop01.fir | ||
loop02.fir | ||
memory-allocation-opt.fir | ||
memref-data-flow.fir | ||
recursive-type.fir | ||
target-rewrite-boxchar.fir | ||
target-rewrite-char-proc.fir | ||
target-rewrite-complex.fir | ||
target-rewrite-triple.fir | ||
types-to-llvm.fir |