[all-commits] [llvm/llvm-project] 6533ad: [flang][OpenMP] Make all block constructs share th...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Fri Aug 1 05:53:22 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6533ad04edcbc02d012cdb181d8745ca0d2f2e75
      https://github.com/llvm/llvm-project/commit/6533ad04edcbc02d012cdb181d8745ca0d2f2e75
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2025-08-01 (Fri, 01 Aug 2025)

  Changed paths:
    M flang/examples/FeatureList/FeatureList.cpp
    M flang/include/flang/Parser/dump-parse-tree.h
    M flang/include/flang/Parser/openmp-utils.h
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Lower/OpenMP/Atomic.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Parser/openmp-parsers.cpp
    M flang/lib/Parser/parse-tree.cpp
    M flang/lib/Parser/unparse.cpp
    M flang/lib/Semantics/check-omp-atomic.cpp
    M flang/lib/Semantics/check-omp-loop.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/resolve-directives.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Parser/OpenMP/affinity-clause.f90
    M flang/test/Parser/OpenMP/allocators-unparse.f90
    M flang/test/Parser/OpenMP/atomic-compare.f90
    M flang/test/Parser/OpenMP/atomic-end.f90
    M flang/test/Parser/OpenMP/block-construct.f90
    M flang/test/Parser/OpenMP/construct-prefix-conflict.f90
    M flang/test/Parser/OpenMP/defaultmap-clause.f90
    M flang/test/Parser/OpenMP/defaultmap-unparse.f90
    M flang/test/Parser/OpenMP/dispatch.f90
    M flang/test/Parser/OpenMP/if-clause.f90
    M flang/test/Parser/OpenMP/in-reduction-clause.f90
    M flang/test/Parser/OpenMP/map-modifiers-v60.f90
    M flang/test/Parser/OpenMP/map-modifiers.f90
    M flang/test/Parser/OpenMP/masked-unparse.f90
    M flang/test/Parser/OpenMP/master-unparse.f90
    M flang/test/Parser/OpenMP/openmp6-directive-spellings.f90
    M flang/test/Parser/OpenMP/proc-bind.f90
    M flang/test/Parser/OpenMP/scope.f90
    M flang/test/Parser/OpenMP/target_device_parse.f90
    M flang/test/Parser/OpenMP/task-reduction-clause.f90
    M flang/test/Parser/OpenMP/task.f90
    M flang/test/Semantics/OpenMP/clause-validity01.f90
    M flang/test/Semantics/OpenMP/symbol08.f90

  Log Message:
  -----------
  [flang][OpenMP] Make all block constructs share the same structure (#150956)

The structure is
- OmpBeginDirective (aka OmpDirectiveSpecification)
- Block
- optional<OmpEndDirective> (aka optional<OmpDirectiveSpecification>)

The OmpBeginDirective and OmpEndDirective are effectively different
names for OmpDirectiveSpecification. They exist to allow the semantic
analyses to distinguish between the beginning and the ending of a block
construct without maintaining additional context.

The actual changes are in the parser: parse-tree.h and openmp-parser.cpp
in particular. The rest is simply changing the way the directive/clause
information is accessed (typically for the simpler).

All standalone and block constructs now use OmpDirectiveSpecification to
store the directive/clause information.



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