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

    <tr>
        <th>Summary</th>
        <td>
            [Clang] Condition is always true which is caused by a possible copy-pasted bug in CGOpenMPRuntime.cpp
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          ustchcs-bugfinder
      </td>
    </tr>
</table>

<pre>
    https://github.com/llvm/llvm-project/blob/7b338a691ec916cde3fd293123e32b490d260922/clang/lib/CodeGen/CGOpenMPRuntime.cpp#L11173


`kind == ` is likely omitted. Therefore the condition on L11173 is always true.

Correct code:

``` cpp
if (Kind == ParamKindTy::LinearUVal ||  kind == ParamKindTy::LinearRef)   // Line 11173
```

Current code:

```cpp
/// Maps To Vector (MTV), as defined in 4.1.1 of the AAVFABI (2021Q1).
static bool getAArch64MTV(QualType QT, ParamKindTy Kind) {
  QT = QT.getCanonicalType();

  if (QT->isVoidType())
    return false;

  if (Kind == ParamKindTy::Uniform)
    return false;

  if (Kind == ParamKindTy::LinearUVal || ParamKindTy::LinearRef)   // Line 11173
    return false;

  if ((Kind == ParamKindTy::Linear || Kind == ParamKindTy::LinearVal) &&
 !QT->isReferenceType())
    return false;

  return true;
}
``` 


</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVN-P4jYQ_mvMy2gjexwCeeCBhXKqeqseK453x5kQd40d2U5X_PeVw3HH9sd1e6oUYTQ_vvlmxv5UjObkiFZs_sjm25kaU-_DaoxJ9zo-NOOpM66lMGt8e1n1KQ2RyTXDHcPdyaR-bArtzwx31v5-Ox6G4H8jnRjuGusbhrtFI-VSVbUgXYtKtyS7FmspUJLEpqx5ixWvERnutFXulIFMTtz4lj6Qy_8-_DqQe_r0PLpkzlToYWAoPwohFpLxLePrN78VfzGuBSa3TG6BVRxMBGteyF7An01K1BZw6ClQ5wNB6gm0d61JxjvwDq7AOUnZV3WJkMJIxX2JjQ-BdALtW8ojeVv9-kFmOZlMBwyXv9xx-qSCOmfD4ZLT5fqjcaTC56OywBYbttgAvPx7_DN1DGsAuO4EshXup3Lj8ob7GAK573P_Sv0KnLGf1BDh4OFIOvmQG3o6HBnWDDegIrTUGUctGAdlIQoBvpsGu14fd-vHn3M8chR7wbD-MsqYVDIaGu8tnCit10H3VTmhLvejsofLQLA_5AJ3_UM-ctds8XjFAdgf8qBgfyhOlDbKeWf0NZ_hMnOUj_dtAlw3sj88MPmTiUdv2rtgrG9hAIHSGBx0ykb6B5Tv7vWzM50P5_8V86935QevxzvJvI_Pjcs7Qo_KTgvEKn_XWgzFbR3P1FEgp-lHdvLFmV_sN99i--e3eZ80a1eyrWWtZrQS1WJZ4lJwOetXUvMKu7IlLBc0n881VlwScbWktm44n5kVcpRcCs4rLkpZkFCi0xLrkuSCd5KVnM7K2CJLY-HDaWZiHGlVCSnqmVUN2TipL6KjV5icDDGLcVhNctqMp8hKbk1M8RtKMslOsr2ZFHO-hc1XAXsrW_DaG91no1ZjpBaaCygYfIymsVn3hsvDoGLKnvGUn-_fiO1sDPa_6__UTWS4m7r9IwAA___Rwt3r">