[all-commits] [llvm/llvm-project] 66fca0: [OpenMP] Fix num_iters in __kmpc_*_loop DeviceRTL ...

Sergio Afonso via All-commits all-commits at lists.llvm.org
Tue Apr 1 02:29:31 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 66fca0674d83254c70af4a6289496b8acc4377df
      https://github.com/llvm/llvm-project/commit/66fca0674d83254c70af4a6289496b8acc4377df
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2025-04-01 (Tue, 01 Apr 2025)

  Changed paths:
    M offload/DeviceRTL/src/Workshare.cpp

  Log Message:
  -----------
  [OpenMP] Fix num_iters in __kmpc_*_loop DeviceRTL functions (#133435)

This patch removes the addition of 1 to the number of iterations when
calling the following DeviceRTL functions:
- `__kmpc_distribute_for_static_loop*`
- `__kmpc_distribute_static_loop*`
- `__kmpc_for_static_loop*`

Calls to these functions are currently only produced by the OMPIRBuilder
from flang, which already passes the correct number of iterations to
these functions. By adding 1 to the received `num_iters` variable,
worksharing can produce incorrect results. This impacts flang OpenMP
offloading of `do`, `distribute` and `distribute parallel do`
constructs.

Expecting the application to pass `tripcount - 1` as the argument seems
unexpected as well, so rather than updating flang I think it makes more
sense to update the runtime.



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