[all-commits] [llvm/llvm-project] a8db1f: [flang] update fir.coordinate_of to carry the fiel...

jeanPerier via All-commits all-commits at lists.llvm.org
Fri Feb 28 00:50:26 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a8db1fb9b5dac61a37492840f2edb84a15e7c8a2
      https://github.com/llvm/llvm-project/commit/a8db1fb9b5dac61a37492840f2edb84a15e7c8a2
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2025-02-28 (Fri, 28 Feb 2025)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
    M flang/test/Fir/Todo/coordinate_of_2.fir
    M flang/test/Fir/Todo/coordinate_of_3.fir
    M flang/test/Fir/abstract-results-bindc.fir
    M flang/test/Fir/abstract-results.fir
    M flang/test/Fir/array-value-copy.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/convert-to-llvm.fir
    M flang/test/Fir/dispatch.f90
    M flang/test/Fir/field-index.fir
    M flang/test/Fir/pdt.fir
    M flang/test/HLFIR/assign-codegen-derived.fir
    M flang/test/HLFIR/c_ptr_byvalue.f90
    M flang/test/HLFIR/designate-codegen-component-refs.fir
    M flang/test/Integration/OpenMP/map-types-and-sizes.f90
    M flang/test/Lower/CUDA/cuda-cdevloc.cuf
    M flang/test/Lower/CUDA/cuda-devptr.cuf
    M flang/test/Lower/HLFIR/assumed-rank-inquiries.f90
    M flang/test/Lower/HLFIR/c_ptr-constant-init.f90
    M flang/test/Lower/HLFIR/intrinsic-module-procedures.f90
    M flang/test/Lower/Intrinsics/c_associated.f90
    M flang/test/Lower/Intrinsics/c_f_pointer.f90
    M flang/test/Lower/Intrinsics/c_f_procpointer.f90
    M flang/test/Lower/Intrinsics/c_funloc-proc-pointers.f90
    M flang/test/Lower/Intrinsics/c_funloc.f90
    M flang/test/Lower/Intrinsics/c_loc.f90
    M flang/test/Lower/Intrinsics/c_ptr_eq_ne.f90
    M flang/test/Lower/Intrinsics/ieee_class.f90
    M flang/test/Lower/Intrinsics/ieee_flag.f90
    M flang/test/Lower/Intrinsics/ieee_logb.f90
    M flang/test/Lower/Intrinsics/ieee_max_min.f90
    M flang/test/Lower/Intrinsics/ieee_operator_eq.f90
    M flang/test/Lower/Intrinsics/ieee_rint_int.f90
    M flang/test/Lower/Intrinsics/ieee_rounding.f90
    M flang/test/Lower/Intrinsics/ieee_unordered.f90
    M flang/test/Lower/Intrinsics/storage_size.f90
    M flang/test/Lower/Intrinsics/transfer.f90
    M flang/test/Lower/OpenMP/declare-mapper.f90
    M flang/test/Lower/OpenMP/derived-type-allocatable-map.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/array-elemental-calls-2.f90
    M flang/test/Lower/c-interoperability-c-pointer.f90
    M flang/test/Lower/c_ptr-constant-init.f90
    M flang/test/Lower/call-by-value.f90
    M flang/test/Lower/call-copy-in-out.f90
    M flang/test/Lower/derived-allocatable-components.f90
    M flang/test/Lower/derived-pointer-components.f90
    M flang/test/Lower/derived-type-finalization.f90
    M flang/test/Lower/derived-types.f90
    M flang/test/Lower/equivalence-1.f90
    M flang/test/Lower/forall/array-pointer.f90
    M flang/test/Lower/forall/forall-allocatable-2.f90
    M flang/test/Lower/forall/forall-where.f90
    M flang/test/Lower/identical-block-merge-disable.f90
    M flang/test/Lower/io-derived-type.f90
    M flang/test/Lower/parent-component.f90
    M flang/test/Lower/pointer-assignments.f90
    M flang/test/Lower/polymorphic-temp.f90
    M flang/test/Lower/polymorphic.f90
    M flang/test/Lower/select-type.f90
    M flang/test/Lower/structure-constructors.f90
    M flang/test/Transforms/omp-map-info-finalization-implicit-field.fir

  Log Message:
  -----------
  [flang] update fir.coordinate_of to carry the fields (#127231)

This patch updates fir.coordinate_op to carry the field index as
attributes instead of relying on getting it from the fir.field_index
operations defining its operands.

The rational is that FIR currently has a few operations that require
DAGs to be preserved in order to be able to do code generation. This is
the case of fir.coordinate_op, which requires its fir.field operand
producer to be visible.
This makes IR transformation harder/brittle, so I want to update FIR to
get rid if this.

Codegen/printer/parser of fir.coordinate_of and many tests need to be
updated after this change.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list