[all-commits] [llvm/llvm-project] 0b8b32: [flang][OpenMP] Upstream first part of `do concurr...

Kareem Ergawy via All-commits all-commits at lists.llvm.org
Tue Feb 18 01:23:01 PST 2025


  Branch: refs/heads/users/ergawy/upstream_do_concurrent_2
  Home:   https://github.com/llvm/llvm-project
  Commit: 0b8b320c30d53eedbe057a8ad10b74e09b2e15f9
      https://github.com/llvm/llvm-project/commit/0b8b320c30d53eedbe057a8ad10b74e09b2e15f9
  Author: ergawy <kareem.ergawy at amd.com>
  Date:   2025-02-18 (Tue, 18 Feb 2025)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    A flang/docs/DoConcurrentConversionToOpenMP.md
    M flang/docs/index.md
    M flang/include/flang/Frontend/CodeGenOptions.def
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Optimizer/OpenMP/Passes.h
    M flang/include/flang/Optimizer/OpenMP/Passes.td
    A flang/include/flang/Optimizer/OpenMP/Utils.h
    M flang/include/flang/Optimizer/Passes/Pipelines.h
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/OpenMP/CMakeLists.txt
    A flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
    M flang/lib/Optimizer/Passes/Pipelines.cpp
    A flang/test/Driver/do_concurrent_to_omp_cli.f90
    A flang/test/Transforms/DoConcurrent/basic_host.f90
    M flang/tools/bbc/bbc.cpp

  Log Message:
  -----------
  [flang][OpenMP] Upstream first part of `do concurrent` mapping

This PR starts the effort to upstream AMD's internal implementation of
`do concurrent` to OpenMP mapping. This replaces #77285 since we
extended this WIP quite a bit on our fork over the past year.

An important part of this PR is a document that describes the current
status downstream, the upstreaming status, and next steps to make this
pass much more useful.

In addition to this document, this PR also contains the skeleton of the
pass (no useful transformations are done yet) and some testing for the
added command line options.


  Commit: 41f77da5d073abb489bf2aa5dff6c7143aa0c86b
      https://github.com/llvm/llvm-project/commit/41f77da5d073abb489bf2aa5dff6c7143aa0c86b
  Author: ergawy <kareem.ergawy at amd.com>
  Date:   2025-02-18 (Tue, 18 Feb 2025)

  Changed paths:
    M flang/docs/DoConcurrentConversionToOpenMP.md
    M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
    A flang/test/Transforms/DoConcurrent/loop_nest_test.f90

  Log Message:
  -----------
  [flang][OpenMP] Upstream `do concurrent` loop-nest detection.

Upstreams the next part of `do concurrent` to OpenMP mapping pass (from
AMD's ROCm implementation). See #126026 for more context.

This PR add loop nest detection logic. This enables us to discover
muli-range `do concurrent` loops and then map them as "collapsed" loop
nests to OpenMP.


Compare: https://github.com/llvm/llvm-project/compare/57e10a4232b5...41f77da5d073

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