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

    <tr>
        <th>Summary</th>
        <td>
            Install llvm 20 release pkg and use clang++-20 can successfully compile a CUDA kernel which calls cutlass interface, but use locally built llvm-19 clang++ to compile the same kernel will fail
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang
      </td>
    </tr>

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

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

<pre>
    I install llvm-20 release pkg and use clang++-20 to compile a CUDA kernel which call cutlass interface, it success;  then I git clone the llvm-19 project and built it locally, then use clang++ to compile the same kernel, but it fail, compile errors is as below:
******************************************************
clang-19: /data/llvm/clang/lib/AST/ExprClassification.cpp:72: Cl clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const: Assertion `isPRValue()' failed.
#0 0x00005f3c26f1cb36 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /data/llvm/llvm/lib/Support/Unix/Signals.inc:723:22
 #1 0x00005f3c26f1cf57 PrintStackTraceSignalHandler(void*) /data/llvm/llvm/lib/Support/Unix/Signals.inc:798:1
 #2 0x00005f3c26f1a3a7 llvm::sys::RunSignalHandlers() /data/llvm/llvm/lib/Support/Signals.cpp:105:20
 #3 0x00005f3c26f1c3ce SignalHandler(int) /data/llvm/llvm/lib/Support/Unix/Signals.inc:413:1
 #4 0x000072624b3bd520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #5 0x000072624b4119fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
 #6 0x000072624b4119fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
 #7 0x000072624b4119fc pthread_kill ./nptl/pthread_kill.c:89:10
 #8 0x000072624b3bd476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
 #9 0x000072624b3a37f3 abort ./stdlib/abort.c:81:7
#10 0x000072624b3a371b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x000072624b3b4e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#12 0x00005f3c2d29846b clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const /data/llvm/clang/lib/AST/ExprClassification.cpp:58:5
#13 0x00005f3c2b9e0760 clang::Expr::Classify(clang::ASTContext&) const /data/llvm/clang/include/clang/AST/Expr.h:407:3
#14 0x00005f3c2c485d85 clang::Sema::DeduceAutoType(clang::TypeLoc, clang::Expr*, clang::QualType&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::TemplateSpecCandidateSet*) /data/llvm/clang/lib/Sema/SemaTemplateDeduction.cpp:5280:61
#15 0x00005f3c2c252431 clang::Sema::CheckTemplateArgument(clang::NonTypeTemplateParmDecl*, clang::QualType, clang::Expr*, clang::TemplateArgument&, clang::TemplateArgument&, clang::Sema::CheckTemplateArgumentKind) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:7879:25
#16 0x00005f3c2c24bc83 clang::Sema::CheckTemplateArgument(clang::NamedDecl*, clang::TemplateArgumentLoc&, clang::NamedDecl*, clang::SourceLocation, clang::SourceLocation, unsigned int, llvm::SmallVectorImpl<clang::TemplateArgument>&, llvm::SmallVectorImpl<clang::TemplateArgument>&, clang::Sema::CheckTemplateArgumentKind) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:6374:45
#17 0x00005f3c2c24cc62 clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo&, bool, llvm::SmallVectorImpl<clang::TemplateArgument>&, llvm::SmallVectorImpl<clang::TemplateArgument>&, bool, bool*, bool) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:6665:32
#18 0x00005f3c2c243f04 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:4617:32
#19 0x00005f3c2c245a48 clang::Sema::ActOnTemplateIdType(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::OpaquePtr<clang::TemplateName>, clang::IdentifierInfo const*, clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::ParsedTemplateArgument>, clang::SourceLocation, bool, bool, clang::ImplicitTypenameContext) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:4930:40
#20 0x00005f3c2b3571ca clang::Parser::AnnotateTemplateIdTokenAsType(clang::CXXScopeSpec&, clang::ImplicitTypenameContext, bool) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:1364:40
#21 0x00005f3c2b25a27a clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) /data/llvm/clang/lib/Parse/ParseDecl.cpp:4165:7
#22 0x00005f3c2b22bc39 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*) /data/llvm/clang/include/clang/Parse/Parser.h:2500:38
#23 0x00005f3c2b352f8d clang::Parser::ParseDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:238:13
#24 0x00005f3c2b352bfb clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:178:39
*****************************************************
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzkWV1v2zgW_TX0C1FDIvX54AfFGWOD7W6zTWYwbwZFXdmc0JSWpNqkv35BSm4kxXXcZjBbYAADkiny8NxzLilSZMaInQJYofgKxdcL1tl9o1df9kztvuwpXZRN9bS6wUIZy6TEUn46vCMB1iCBGcDtww4zVeHOAOaSqR0iV4hcuSq2wbw5tEICZnj963WBH0ArkPjzXvA95g6Od1YyY7BQFnTNOCCyxsJi03EOxiB6hbHdg8I3eCcs5rJR4Ap6HmGOW938Adx6DmUnpHWtZePAnxyWbzwjN2bmsAw7wMDNNSk7D1Iz4f8ea4LWjTZYGMwMLkE2nxEtUFAg8tP_gsJH_y7MES0wIpuKWYbIxomIyGaQZiNFicimuLtHZPPLY6vXzhpRC86saNSSty2iRUocxloOgtIC0cJV7u-GJk83h1Yiko3qFHf360ZZeLSIJF7X52d3Tac5vG_6jjzpHPNGGev6KowB7R5glATC3H78jckOEMkQyRFJvVFQLb0VNMDBYxAEQVxTTpI65CVNfLL0PZkn09_caqHsnWX84V77tMueK2n2edsYq4EdBq5CWUfphXLHixfurmvbRltENr8q8egKxE4xaZZCcS8cRbQgBAXOAhrOidZximeseoB_MFVJ0IhknxpRDeq8jUqeIVqEAxMyY8IoS09J9rFTE0Kmt-BiKkcOfR6FQezkCAYSdC4H5YDn8f8ZNkQhHcUeDd2mJCFRScsqJgH2cQ1oj1myTaJ3Uqju8d1Odf0DvjTNMkHkKniMSEwCl4k9YDwBjMIwrzneblu718Cq7YOQcisOrYQDKOvTHS8R2ajWSkQ242pLzzZydiUDeHIJuJtJFZNnYVPv_1H79BTsuM1ZrCwfY2VzQaM0wTvjLfAw_S0im6X_92QqaI3DbYx3SzNhwAOTFNHiGHo-xWU0rSlmZaNtj2qr3i9f1PMKXaD9rBAGL5qHJd4quZUNq7ZVc2CiN0IoH6UrPpgdZz1WGKaOTD6ghbMgI8iT78samkOe9FnjACdDsCJ5FiXlXzPBvvFtELtEiocoJmO4zCFIk-B8FGcjeJWhUFx2FYxKntku9270BM41OtCLxvR4lMVVFk9EggPr766h6jgUnW3un1qYknQl7xs-E9iH5mSdlP6nY7JHmBtivvZ1D4dWMgu-T6fsjaqboUHZNHJ8HdMYmt21wNdMVaJyf8B-6_UwddWH2l9e9H90lmSBG3_hoF48UY_EJKLhafXWe-APR9hC7zo31U1F_HejnC7HSrdMH66By3MKXiD3yz7nsr9e45Uw_ilU9WP6HpdPWermS3IcM8lU1qjkGf1xWdkBqtNCzhv6FJ4Hf6b9fAZ55WGn_Lai6ldO69Fy4u7ApPwNuG20n8Po-pw_9JeB5ZsB_kKPE5q613Z09Didecx5Qr6Dz3thZj4_j9nvtuoU-IkZ5__v13TuK55v32JMkrhFJyWDMdnMGFoH0QXG3FQnXgvDMzeE_jQ_3hBqlITpONR8FmrMoux0qAW3H9S5UO9444rmabf-_Xf_xL2RXl-BTB5-aNl_O7i1-nRyeE1dYkwa3VSgrKgFaKfXsF1867z1nLb_6iwrJRRas6ePUE-Z3TJtoDqZvK90cOaV7kaH4MI6xRU7wNe10FvSIKeBXwj1aUAm2-OSxmnIGZ4HNizSCqUayyyMcqF5AFWYlylx3vtvBnbxkPa0jtdZiCFNonGIk411SWJG0m-G6O_dLMq0d8jx9yllpvG5Kqdje4H2NStGs-p4jeu_a33t5wzasc-RWt-o-b5fQhmoCmt1_7qYj4MfT66J9o7UMbVCP5kOOyxCprKTktP8byn7GUFfblgm4vabFhIHbsjSbBCWzoYsqbPqUmGL2oI-KvNSW1er0a9HeonCro5QOwf7sbi5-VD-AfyCnehJY72gouwsmAusfNPsQaj_FDLsEUk0F7usy7OqjJdig-gftCfHpPgyBPk9uv9sAoX-WxHNf_4v3YtqRauc5mwBqzCNSUCDJCGL_QpyEuZZGEPNcoA45HFMWFUywnhIaUQWYkUCEgdpkAc0DAOyZGUZ11GaxIzFEIY1igI4MCGXTr5lo3cLYUwHqzBKk4gsJCtBGn-EQsggLUHx9UKv_DlF2e0MigIpjDXPEFZYCaub0cEKvuxghTN1PCCpOymfXj1mMafPWcrOevjhuGQ4PzmerFx2YII_Cyn9J_hFp-Vqb23rPxeTDSKbnbD7rlzy5jD9VvtuOLVxU6LT0SCyGaT8tCL_CwAA___dgClw">