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

    <tr>
        <th>Summary</th>
        <td>
            [OMPT] Untied tasks schedules
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          rpereira-dev
      </td>
    </tr>
</table>

<pre>
    Something seems wrong with OMPT `task_schedule` events with untied tasks, please see minimal example bellow

LLVM version
```bash
$ clang --version
clang version 19.0.0git (https://github.com/rpereira-dev/llvm-project ed327625cc1de7f0f71c63f3ae59b6ac621e2c76)
Target: x86_64-unknown-linux-gnu
Thread model: posix
```

main.c
```C
int main(void)
{
    # pragma omp parallel
    {   
        # pragma omp single
        {
 # pragma omp task untied
            {}
        }
    }   
 return 0;
}
```

OMPT tool used
```bash
git clone -b llvm/untied-schedule https://github.com/rpereira-dev/ompt-dump.git
```

Compiled and run as
```
clang -Wall -Werror -Wextra -fopenmp main.c
OMP_NUM_THREADS=1 OMP_TOOL_LIBRARIES=path/to/libompt_dump.so ./a.out
```

Outputs
```
  1 [OMPT] [INFO] OMPT_DUMP: OpenMP 201611 and runtime LLVM OMP version: 5.0.20140926
  2 [OMPT] [INFO] Could not register callback 'ompt_callback_device_unload'
  3 [OMPT] [INFO] Could not register callback 'ompt_callback_target_map'
  4 [OMPT] [INFO] Could not register callback 'ompt_callback_target_map_emi'
  5 [OMPT] [INFO] ompt_callback_thread_begin
  6 [OMPT] [INFO] ompt_callback_implicit_task(task_data=0x55c7bf5da440)
  7 [OMPT] [INFO] ompt_callback_parallel_begin
  8 [OMPT] [INFO] ompt_callback_implicit_task(task_data=0x55c7bf5e1280)
  9 [OMPT] [INFO] ompt_callback_work
 10 [OMPT] [INFO] ompt_callback_task_create(encountering_task_data=0x55c7bf5e1280, new_task_data=0x55c7bf6e3900)
 11 [OMPT] [INFO] ompt_callback_task_schedule(prior_task_data=0x55c7bf5e1280, prior_task_status=7, next_task_data=0x55c7bf6e3900)
 12 [OMPT] [INFO] ompt_callback_task_schedule(prior_task_data=0x55c7bf6e3900, prior_task_status=7, next_task_data=0x55c7bf5e1280)
 13 [OMPT] [INFO] ompt_callback_task_schedule(prior_task_data=0x55c7bf6e3900, prior_task_status=7, next_task_data=0x55c7bf6e3900)
 14 [OMPT] [INFO] ompt_callback_task_schedule(prior_task_data=0x55c7bf6e3900, prior_task_status=1, next_task_data=0x55c7bf5e1280)
 15 [OMPT] [INFO] ompt_callback_work
 16 [OMPT] [INFO] ompt_callback_sync_region
 17 [OMPT] [INFO] ompt_callback_sync_region_wait
 18 [OMPT] [INFO] ompt_callback_sync_region_wait
 19 [OMPT] [INFO] ompt_callback_sync_region
 20 [OMPT] [INFO] ompt_callback_implicit_task(task_data=0x55c7bf5e1280)
 21 [OMPT] [INFO] ompt_callback_parallel_end
 22 [OMPT] [INFO] ompt_callback_implicit_task(task_data=0x55c7bf5da440)
 23 [OMPT] [INFO] ompt_callback_thread_end
```

Event Line 11 - The thread switches from its implicit (parent) task `0x55c7bf5e1280` to the untied task `0x55c7bf6e3900`
Event Line 12 - The thread switches from the untied  task `0x55c7bf6e3900` to its implicit (parent) task `0x55c7bf5e1280`
Event Line 13 - The thread switches from the untied  task `0x55c7bf6e3900` to the same untied task `0x55c7bf5e1280` with the same status - (**ERROR: the current task is `0x55c7bf5e1280`**) 
Event Line 14 - [...]

Removing the `untied` clause produces removes events line 13 and 14, which is what we should expect even with `untied` I believe ?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEV99v4jAS_mvMywiUOD954IGWoqvULlW3e_sYmWSa-OrYke0A-9-fHAibUuhxVU8nVTSYmfE3k5nP_pgxvJSIMxLdkGgxYq2tlJ7pBjVyzcYFbkZrVfyZ_VQ12orLEgxibWCrlSxhy20Fq8enFyCxZ5l5y0xeYdEKJLEHuEFpzd6olZZjAc7GEHoLjUBm0AWDmkteMwG4Y3UjENYohNoSb0G8-f7z4eGfj7BBbbiSh_XY2_-tmakOSzSEXDBZwnj8zna_eFgCfzrxJl7JLRCaVtY2hgRzQpeELktuq3Y9yVVN6HJYAkKXQmzqcaPVvzC3gEVAk5hGee4XmLx6r4mfx8FrwDCarmOWx9RHmicxodM9hBemS7QkmMMujbM4HLfyTaqtHAsu2924lO3BrtLICqhVgcJZN8rw3UnGw8LUjMtJfmJwu__OpQX3O6HpRvHiiIUkN_sHAABCA2g0K2sGqm6gYZoJgWJgkNy4z-P3M06Gy1LgiclxkxNj1wCHZnjv0Xsli9NIiyGaxV80Gm2rJXgkuOkzW3xSq65NrVICWtNvfqaNXGfkQkmE8RrcWyd0ucc77nsbrm8bVTd2XLR1Mym5_QTcraobLrAAJgvQrQRmzlofGvw3EwLGv1Frpd3_ndUMxq-qQVk3MOyK1eNT9uPXY_byj-e7-eInCRa-G9jsZbV6yB7ub57nz_d3brlhtiJ0aZVrdr52wLMOuFEwIXTJJqr9LINVa5vWnkcN4AOJbtwbINHCPd7_WK7co1vKFr8en1y3rxqUj09APT_2_b4SltcIHQGsHp-OJBDMIZp4E-r5oTelcb8NvbDNrWpFAVJZ0FhyY1FDzoRYs_wNCE26ZPuFrMANzzFrpVCsIDTpgwffEdx2TJDVrBlEDr83coY1H0SPLkQ_ce-oJ1tjyWXvGV_lyetG8JzbzM02oWl3DhTMMhIsvF0U5cn6NSpYGHpHDgJIrgrd89F7WOn3wUKfpkNY06tCb5V-O3j43nXVdZvnGplFQlOUuWqlRc1lmX2G6xYkbs9axBhMvQFy_9KEncFxPKNp2miu9H-AMLAxltnWkGCR7LHt7HXgLs3lV8H1G3wF3Ok79y_N9f8D3IfKXaKG_w04_7-r3HXMMpyW6xjF_JF55iivv8KBfx1fDByzLetPXPCvY4xL3teRwkfQ9Dpu-ApR0evG_cifKPvrFr1uFr9C6vTKSdqfNEdIZ68Td047wAOX6KhtDC8Vwt4RzJbbvEIDr1rVwK2BHqy70jdMo7SETvdXTRJ7JzWMPbAKbIVDTTK0O4xIj2eIhH6GZBDycky39xcgf4QSfAsUZ2hYfbEWf2vWqbij-Z4xYOzgEzondH73_Lx6dvcyZ5O32qW0D8fN-ZQ6N5f1x-RCFzm6mUwmJFoM2-IZa7VxKtTtQmLvoCRiz0m_1iA0WhVtjga0s0TTi1BxKJq7Vfqho7ltxfPKgdtWzMIWwVTddQt3TafxNij3Sb_b5t7JU44bBBIsR8UsKKbBlI1w5ifeNEpif5qMqhmGUcpoGBZh6oWBt2ZpsE6LiCVxgFMvfR3xGfVo6AVe6Kd-HCSTaFp4rGA-pklOGfok9LBmXEycBJkoXY64MS3O0iBNg5FgaxSmE-2UStxC9yOh1Gl4PevE6rotDQk9wY01f6NYbkWn9vsx_TUQ5tAfIWbUajH7ROYchNFQFRO67FAYQpcdyn8HAAD__6iY-Lo">