<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/86348>86348</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP] OpenMP target map order problem when using the same array multiple times
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          lwshanbd
      </td>
    </tr>
</table>

<pre>
    When an array is `map` multiple times in the same directive, only the first `map` will be valid.
```
#include <stdio.h>
#include <omp.h>

int main()
{
    int A[3] = {0};
    int B[3] = {0};


    #pragma omp target map(to: A[0:3]) map(tofrom: A[0:3], B[0:3])
    {
        #pragma target parallel for
        for(int i = 0; i < 3; i++){
            A[i] += 5;
 B[i] += 5;
        }
    }
    for(int i = 0; i < 3; i++){
 printf("A[%d] : %d B[%d] : %d\n", i, A[i], i, B[i]);
 }
}
```
The output is 
```
A[0] : 0 B[0] : 5
A[1] : 0 B[1] : 5
A[2] : 0 B[2] : 5
```
, which means `map(tofrom: A[0:3])` doesn't work.

It seems that OpenMP Spec does not specify what should happen when a list item is executed multiple times.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVEGP6yYQ_jXjy-hFGOw4PvgQJ43UQ9VKrdQzticxLQYL8Kb77ytIXuLs7uuhkUUG5oP55hsY6b26GKIGyhbKYyaXMFrX6KsfpemGrLPDe_PnSAalQemcfEflEbZskjNsGU6LDmrWhEFN5FEZDCOhlxPhoBz1Qb0R8ANao9-T66ycD6sDrkpr7AjfpFbDBtgR2B627P7dplwo0-tlIARx8GFQdjOC-Okrr53mtS-NygScpDLAd8Dru6dqbwYiYgTsoWwFlEcEcUSoWgbVEcQHUPtfoPUYNwAXs5OXSaKdZgzSXSjymIHvggWxTyEZiH08EXj98J2dnT77Dyn6Cr-KtE7mNfQ97Cyd1Jo0nq17hcYFvovJqZQVA9Em84AimcDb9NWfosRf5KiSIryN28unZu2PXd9pVsd1EqvJ_2E1O2XCORWZR1rAy-FWqz1GOxH6uAjlwQDnUV4Vh-_5PBbax0L95P_g-jRer-wfI6FdwryE9Fy-gtyqe6fC7sW9T8snJH-F5F9A-CuEf4B8ek0HvI6qH3EiaR5v-ccXr47PdLDkDfAq4NW6vzfru_5zQE80eQyjDPjrTOaX3_D3mfq0CY0N6Gfq1fkdrxHhR7voAUc5z2TwmnoLauUDqkBT1Iv-oX4JNHzoLptsaMRQi1pm1ORVnudFsd0V2dhUeb3teU_nYduxaqjynGqqWbmt-14WYpephjNeMME5z8sdKzaVJFkIMVSsrHesY1AwmqTSG63fpo11l0x5v1Cz24pil2nZkfapR3Ju6IrJGe9NecxcE_d865aLh4LFRPzzlKCCTs31pksszV2hZ0NA6wZyODvbaZpuiixemcuzl94676sc2eJ0M4YwexB74Cfgp4sK49JtejsBP0UO979vs7N_UR-AnxJzD_yUMvs3AAD__8HpoOU">