[all-commits] [llvm/llvm-project] ce603a: [flang][openmp]Add UserReductionDetails and use in...

Tom Eccles via All-commits all-commits at lists.llvm.org
Mon Jun 9 03:17:24 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ce603a0f16209bd7eb2bd378d6a3f13fe52a1063
      https://github.com/llvm/llvm-project/commit/ce603a0f16209bd7eb2bd378d6a3f13fe52a1063
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2025-06-09 (Mon, 09 Jun 2025)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/assignment.cpp
    M flang/lib/Semantics/assignment.h
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/resolve-names-utils.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    A flang/test/Parser/OpenMP/declare-reduction-multi.f90
    A flang/test/Parser/OpenMP/declare-reduction-operator.f90
    A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
    A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
    A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
    M flang/test/Semantics/OpenMP/declare-reduction-error.f90
    A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
    A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
    A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
    A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
    A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
    A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
    A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
    A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
    M flang/test/Semantics/OpenMP/declare-reduction.f90

  Log Message:
  -----------
  [flang][openmp]Add UserReductionDetails and use in DECLARE REDUCTION (#140066)

This adds another puzzle piece for the support of OpenMP DECLARE
REDUCTION functionality.

This adds support for operators with derived types, as well as declaring
multiple different types with the same name or operator.

A new detail class for UserReductionDetials is introduced to hold the
list of types supported for a given reduction declaration.

Tests for parsing and symbol generation added.

Declare reduction is still not supported to lowering, it will generate a
"Not yet implemented" fatal error.

Fixes #141306
Fixes #97241
Fixes #92832
Fixes #66453

---------

Co-authored-by: Mats Petersson <mats.petersson at arm.com>



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