[all-commits] [llvm/llvm-project] 82091e: [Flang][mlir][OpenMP] Support affinity clause code...

Chi-Chun, Chen via All-commits all-commits at lists.llvm.org
Thu Mar 5 10:25:25 PST 2026


  Branch: refs/heads/users/cchen/flang_mlir_affinity_iterator
  Home:   https://github.com/llvm/llvm-project
  Commit: 82091e44a23428a02cf0be0e6fbd7631850af259
      https://github.com/llvm/llvm-project/commit/82091e44a23428a02cf0be0e6fbd7631850af259
  Author: cchen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/task-affinity.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpBase.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [Flang][mlir][OpenMP] Support affinity clause codegen in Flang

This patch translate flang ast to OpenMP dialect for affinity clause
including the iterator modifier.


  Commit: a67f2b139b840d4d2a8d89a671f8129737fe9800
      https://github.com/llvm/llvm-project/commit/a67f2b139b840d4d2a8d89a671f8129737fe9800
  Author: cchen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    R flang/test/Lower/OpenMP/Todo/affinity-clause.f90
    M flang/test/Lower/OpenMP/task-affinity.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-todo.mlir

  Log Message:
  -----------
  Support iterator modifier in affinity clause


  Commit: e72070cd0fe2c74ac8df6d44aad3de96d78f4a89
      https://github.com/llvm/llvm-project/commit/e72070cd0fe2c74ac8df6d44aad3de96d78f4a89
  Author: cchen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/task-affinity.f90
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  Rewrite functions in affinity utility functions with hlfir apis


  Commit: 4d17765272121de9b904da9b52d407e4a34af963
      https://github.com/llvm/llvm-project/commit/4d17765272121de9b904da9b52d407e4a34af963
  Author: cchen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/test/Lower/OpenMP/task-affinity.f90
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  Rebase and replace omp.iterators with omp.iterator


  Commit: ce6c3f192f34affd8ca4dd7106d304614715b717
      https://github.com/llvm/llvm-project/commit/ce6c3f192f34affd8ca4dd7106d304614715b717
  Author: Chi Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/task-affinity.f90

  Log Message:
  -----------
  Lower iterator affinity subscripts and sections correctly

Teach OpenMP affinity lowering to evaluate iterator-dependent subscripts
through the iterator symbol mapping and use them to build the element
coordinate directly.

This fixes cases such as:
- affinity(iterator(i,j): a(j,i))
- affinity(iterator(i,j): a(i+1,j))
- affinity(iterator(i,j): a(i:i+1,j+2))
- affinity(iterator(i,j): a(:i+1,j+2))


  Commit: 8bb30f82cf7f530cf3ab07797ba47136e3c05cae
      https://github.com/llvm/llvm-project/commit/8bb30f82cf7f530cf3ab07797ba47136e3c05cae
  Author: Chi Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/lib/Lower/OpenMP/Utils.h
    M flang/test/Lower/OpenMP/task-affinity.f90

  Log Message:
  -----------
  Handle dynamic affinity object sizes and improve iterator coverage

Teach task affinity lowering to compute lengths for dynamic objects
instead of falling back to zero for whole-object cases such as
assumed-shape, allocatable, pointer, character, and polymorphic type.

Add more tests in task-affinity
    - assumed-shape, allocatable, pointer, and polymorphic objects
    - character objects with constant and runtime length
    - iterator character element affinity
    - reordered, expression, and section iterator subscripts
    - Extract iterator handling from processAffinity


  Commit: 0af005bc84bec07eacd58bfaa4219ec78b5ec349
      https://github.com/llvm/llvm-project/commit/0af005bc84bec07eacd58bfaa4219ec78b5ec349
  Author: Chi Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/test/Lower/OpenMP/task-affinity.f90

  Log Message:
  -----------
  Handle non-default lower bounds in iterator


  Commit: 2f0659cd7de9526b1cb89effdf37a877ebf95129
      https://github.com/llvm/llvm-project/commit/2f0659cd7de9526b1cb89effdf37a877ebf95129
  Author: Chi Chun, Chen <chichun.chen at hpe.com>
  Date:   2026-03-05 (Thu, 05 Mar 2026)

  Changed paths:
    M flang/lib/Lower/OpenMP/Utils.cpp
    M flang/test/Lower/OpenMP/task-affinity.f90

  Log Message:
  -----------
  Remove convert for iterator indices since array_coor accepts AnyCoordinateType


Compare: https://github.com/llvm/llvm-project/compare/5e7d3afe6e43...2f0659cd7de9

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