[all-commits] [llvm/llvm-project] 2f6d90: [flang][OpenMP] Implement flexible OpenMP clause r...

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Mon Feb 19 12:04:43 PST 2024


  Branch: refs/heads/users/kparzysz/spr/b06-dsp
  Home:   https://github.com/llvm/llvm-project
  Commit: 2f6d9000651e34d5a038671fcd061279f7a80354
      https://github.com/llvm/llvm-project/commit/2f6d9000651e34d5a038671fcd061279f7a80354
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Implement flexible OpenMP clause representation

The new set of classes representing OpenMP classes mimics the
contents of parser::OmpClause, but differs in a few aspects:
- it can be easily created, copied, etc.
- is based on semantics::SomeExpr instead of parser objects.

The class `OmpObject` is represented by `omp::Object`, which contains
the symbol associated with the object, and semantics::MaybeExpr
representing the designator for the symbol reference.

This patch only introduces the new classes, they are not yet used
anywhere.


  Commit: e6ed53d812a752d33428d9f6d03b3be15b575db9
      https://github.com/llvm/llvm-project/commit/e6ed53d812a752d33428d9f6d03b3be15b575db9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Convert unique clauses in ClauseProcessor

Temporarily rename old clause list to `clauses2`, old clause iterator
to `ClauseIterator2`.
Change `findUniqueClause` to iterate over `omp::Clause` objects,
modify all handlers to operate on 'omp::clause::xyz` equivalents.


  Commit: 3ba0e28a55cb54e4cfe983415f763583084d9a9b
      https://github.com/llvm/llvm-project/commit/3ba0e28a55cb54e4cfe983415f763583084d9a9b
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Convert repeatable clauses (except Map) in ClauseProcessor

Rename `findRepeatableClause` to `findRepeatableClause2`, and make the
new `findRepeatableClause` operate on new `omp::Clause` objects.

Leave `Map` unchanged, because it will require more changes for it to
work.


  Commit: 23eeb2b54d51047c9d2d2d7bb44e2612e79dcfdd
      https://github.com/llvm/llvm-project/commit/23eeb2b54d51047c9d2d2d7bb44e2612e79dcfdd
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang][Lower] Convert OMP Map and related functions to evaluate::Expr

The related functions are `gatherDataOperandAddrAndBounds` and
`genBoundsOps`. The former is used in OpenACC as well, and it was
updated to pass evaluate::Expr instead of parser objects.

The difference in the test case comes from unfolded conversions
of index expressions, which are explicitly of type integer(kind=8).

Delete now unused `findRepeatableClause2` and `findClause2`.

Add `AsGenericExpr` that takes std::optional. It already returns optional
Expr. Making it accept an optional Expr as input would reduce the number
of necessary checks when handling frequent optional values in evaluator.


  Commit: 8b774cd5e89ce935d43a6fa571bee53435dd71fc
      https://github.com/llvm/llvm-project/commit/8b774cd5e89ce935d43a6fa571bee53435dd71fc
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Convert processTODO and remove unused objects

Remove `ClauseIterator2` and `clauses2` from ClauseProcessor.


  Commit: ac907eeb19955d22a7e8a06d69930e4b2996690e
      https://github.com/llvm/llvm-project/commit/ac907eeb19955d22a7e8a06d69930e4b2996690e
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Convert DataSharingProcessor to omp::Clause


  Commit: b4351a13ffb67e09af944bef246e0d3457e5239b
      https://github.com/llvm/llvm-project/commit/b4351a13ffb67e09af944bef246e0d3457e5239b
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-19 (Mon, 19 Feb 2024)

  Changed paths:

  Log Message:
  -----------
  Merge branch 'users/kparzysz/spr/b05-todo' into users/kparzysz/spr/b06-dsp


Compare: https://github.com/llvm/llvm-project/compare/61d3ad32f0b5...b4351a13ffb6

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