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

    <tr>
        <th>Summary</th>
        <td>
            [OpenMP][OMPD] ICV "nthreads-var" cannot be returned as an integer even when it's a single value
        </td>
    </tr>

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

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

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

<pre>
    Calls to ompd_get_icv_from_scope() fail for ICV _nthreads-var_ even when it is an integer with a single value (not a list). I have seen this problem both with clang 17 and amdclang from ROCm 6.0.0.

Here's some debug information from TotalView that demonstrates the problem.
1) Enumerating the ICVs shows that _nthreads-var_ has id 7:
`ompd_dll_t::enumerate_icvs: ICV name=nthreads-var, id=7, scope=3`
2) Attempting to fetch it using ompd_get_icv_from_scope() fails:
`OMPD DLL: ompd_get_icv_from_scope(handle=0x392fd30,scope=3,icv_id=7)->rc_incomplete`
3) Fetching it with ompd_get_icv_string_from_scope() works:
`OMPD DLL: ompd_get_icv_string_from_scope(handle=0x392fd30,scope=3,icv_id=7)->rc_ok: icv_value="32"`

Notice that the string value is "32", so think ompd_get_icv_from_scope() should have been able to fetch the value as a single integer without returning the error code ompd_rc_incomplete.

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyclM1u6zYQhZ-G2gxiSENLthdapNY1GuCmCYoiW4MSRyJvKNIgKbt9-4KSEyf9QYNuZNk0Dz_OmTMiBD1YopqVP7GyycQUlfP1D0kmLWStk3_Ue2FMgOjAjSd5HCgedXc-9t6Nx9C5EzHcMtxBL7SB3nl42L_A0UblSchwdxb-CHQmCxdFFnQEHUBY0DbSQB4uOioQELQdDMFZmImA4da6CAKMDpHhbgUPoMSZIBBZiEoHOHnXGhqhdVEtGp0RdoBiA8JKEKNcvidM-PVpP0K1ylf5iuUNy--X58_kieEmQHAjgaR2GkDb3vlRRO3ssvc3F4V50XSBqEQESaOzIXoRKUBU9AZyFS5SJb7ZaSQvorbD_JeH_UuAoNwlLBp_KY4SAbSEDeNXLlblc6mlMceYfuX3dJWkVPvA-P1cZStGYrz5KMdwD1oy3mzS2-IPbzir8kUbE-B9jDSeFj4HPcVOJWOmZMIXXA4fSZ8enxtovn9PTP--VQkrTSLJf-c77CXPGe5vdLhPO964d3eMf_PdUdvOjSdDkd7xeWI4JOCEquNi_adzQ_TaDn8nvzj_-jXyf1L4Xxdwr0k7rcx9zXjDEDkyxPcLLc9fXNQdLd2ROmYhuKZBB3jfljx1KQH29T-MCspNRi6xaVNsRGvoZnc6ZZEX4Ra_j6F0UwRPcfL2rY_Je-ehc5KWsz9ZdA1AJmsud3wnMqqLTVEUWPIdz1SNYlusq20usSjLtiuxqtZYrPuSur5AFJmuMcd1zhGLilccV23eU7_DquLFDkUr2TqnUWizMuY8rpwfMh3CRPW24nmVGdGSCfMgQ7R0gXkx1axsMl-nPXftNAS2ztNUCTeVqKOZJ-DTiezjMyub9P743LCymWOWBD9FDKETNk2olq4lIjnX8TbWPk68ecZ8HnHZ5E2tYjzNHYkHhodBRzW1q86NDA8J7vpxd_LuB3WR4WG-UmB4mK_8ZwAAAP__Cb7hRA">