<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/144969>144969</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
After compiling llvm project, use Clang to compile a cuda kernel which calls cutlass gemm interface, but it report a compile error
</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>
command is:
/data/llvm/build/bin/clang-19 -I/data/cutlass/include -I/usr/local/cuda-12.2/include --cuda-gpu-arch=sm_70 -O2 -std=c++17 --cuda-device-only -Xcuda-ptxas -v -o test.s test.cu
compile error:
clang-19: /data/llvm/clang/lib/AST/ExprClassification.cpp:72: Cl clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const: Assertion `isPRValue()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /data/llvm/build/bin/clang-19 -cc1 -triple nvptx64-nvidia-cuda -aux-triple x86_64-unknown-linux-gnu -S -dumpdir test.ptx- -disable-free -clear-ast-before-backend -main-file-name test.cu -mrelocation-model static -mframe-pointer=all -fno-rounding-math -no-integrated-as -aux-target-cpu x86-64 -fcuda-is-device -mllvm -enable-memcpyopt-without-libcalls -fcuda-allow-variadic-functions -mlink-builtin-bitcode /usr/local/cuda-12.2/nvvm/libdevice/libdevice.10.bc -target-sdk-version=12.2 -target-cpu sm_70 -target-feature +ptx82 -debugger-tuning=gdb -fno-dwarf-directory-asm -fdebug-compilation-dir=/xp6/demo_cutlass -resource-dir /data/llvm/build/lib/clang/19 -internal-isystem /data/llvm/build/lib/clang/19/include/cuda_wrappers -include __clang_cuda_runtime_wrapper.h -I /data/cutlass/include -I /usr/local/cuda-12.2/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/x86_64-linux-gnu/c++/11 -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/backward -internal-isystem /data/llvm/build/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /usr/local/cuda-12.2/include -internal-isystem /data/llvm/build/lib/clang/19/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -O2 -std=c++17 -fdeprecated-macro -fno-autolink -ferror-limit 19 -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcxx-exceptions -fexceptions -fcolor-diagnostics -vectorize-loops -vectorize-slp -cuid=27acb42ef6f99229 -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/test-sm_70-0e74d8.s -x cuda test.cu
1. /data/cutlass/include/cute/numeric/integral_constant.hpp:227:1 <Spelling=/data/cutlass/include/cute/numeric/integral_constant.hpp:207:3>: at annotation token
2. /data/cutlass/include/cute/numeric/integral_constant.hpp:37:1: parsing namespace 'cute'
#0 0x0000598773feab36 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) /data/llvm/llvm/lib/Support/Unix/Signals.inc:723:22
#1 0x0000598773feaf57 PrintStackTraceSignalHandler(void*) /data/llvm/llvm/lib/Support/Unix/Signals.inc:798:1
#2 0x0000598773fe83a7 llvm::sys::RunSignalHandlers() /data/llvm/llvm/lib/Support/Signals.cpp:105:20
#3 0x0000598773fea3ce SignalHandler(int) /data/llvm/llvm/lib/Support/Unix/Signals.inc:413:1
#4 0x0000703d15b65520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#5 0x0000703d15bb99fc __pthread_kill_implementation ./nptl/pthread_kill.c:44:76
#6 0x0000703d15bb99fc __pthread_kill_internal ./nptl/pthread_kill.c:78:10
#7 0x0000703d15bb99fc pthread_kill ./nptl/pthread_kill.c:89:10
#8 0x0000703d15b65476 gsignal ./signal/../sysdeps/posix/raise.c:27:6
#9 0x0000703d15b4b7f3 abort ./stdlib/abort.c:81:7
#10 0x0000703d15b4b71b _nl_load_domain ./intl/loadmsgcat.c:1177:9
#11 0x0000703d15b5ce96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#12 0x000059877a36646b clang::Expr::ClassifyImpl(clang::ASTContext&, clang::SourceLocation*) const /data/llvm/clang/lib/AST/ExprClassification.cpp:58:5
#13 0x0000598778aae760 clang::Expr::Classify(clang::ASTContext&) const /data/llvm/clang/include/clang/AST/Expr.h:407:3
#14 0x0000598779553d85 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 0x0000598779320431 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 0x0000598779319c83 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 0x000059877931ac62 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 0x0000598779311f04 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /data/llvm/clang/lib/Sema/SemaTemplate.cpp:4617:32
#19 0x0000598779313a48 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 0x00005987784251ca clang::Parser::AnnotateTemplateIdTokenAsType(clang::CXXScopeSpec&, clang::ImplicitTypenameContext, bool) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:1364:40
#21 0x000059877832827a 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 0x00005987782f9c39 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 0x0000598778420f8d 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 0x0000598778420bfb clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:178:39
#25 0x000059877842067f clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&) /data/llvm/clang/lib/Parse/ParseTemplate.cpp:50:50
#26 0x000059877831fda2 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) /data/llvm/clang/lib/Parse/ParseDecl.cpp:1984:48
#27 0x00005987782ed983 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /data/llvm/clang/lib/Parse/Parser.cpp:990:30
#28 0x000059877834ac8c clang::Parser::ParseInnerNamespace(llvm::SmallVector<clang::Parser::InnerNamespaceInfo, 4u> const&, unsigned int, clang::SourceLocation&, clang::ParsedAttributes&, clang::BalancedDelimiterTracker&) /data/llvm/clang/lib/Parse/ParseDeclCXX.cpp:273:5
#29 0x000059877834aaa2 clang::Parser::ParseNamespace(clang::DeclaratorContext, clang::SourceLocation&, clang::SourceLocation) /data/llvm/clang/lib/Parse/ParseDeclCXX.cpp:252:22
#30 0x000059877831ffbe clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) /data/llvm/clang/lib/Parse/ParseDecl.cpp:2003:26
#31 0x00005987782ed983 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) /data/llvm/clang/lib/Parse/Parser.cpp:990:30
#32 0x00005987782ecca6 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) /data/llvm/clang/lib/Parse/Parser.cpp:763:36
#33 0x00005987782e7ce0 clang::ParseAST(clang::Sema&, bool, bool) /data/llvm/clang/lib/Parse/ParseAST.cpp:163:37
#34 0x000059877513d33a clang::ASTFrontendAction::ExecuteAction() /data/llvm/clang/lib/Frontend/FrontendAction.cpp:1192:11
#35 0x0000598774e0578a clang::CodeGenAction::ExecuteAction() /data/llvm/clang/lib/CodeGen/CodeGenAction.cpp:1147:5
#36 0x000059877513cbe4 clang::FrontendAction::Execute() /data/llvm/clang/lib/Frontend/FrontendAction.cpp:1082:38
#37 0x000059877504758f clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) /data/llvm/clang/lib/Frontend/CompilerInstance.cpp:1061:42
#38 0x00005987752f462f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) /data/llvm/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp:280:38
#39 0x0000598772057449 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) /data/llvm/clang/tools/driver/cc1_main.cpp:232:40
#40 0x00005987720482d6 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) /data/llvm/clang/tools/driver/driver.cpp:215:20
#41 0x000059877204882b clang_main(int, char**, llvm::ToolContext const&) /data/llvm/clang/tools/driver/driver.cpp:256:26
#42 0x0000598772083e28 main /data/llvm/build/tools/clang/tools/driver/clang-driver.cpp:17:20
#43 0x0000703d15b4cd90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
#44 0x0000703d15b4ce40 call_init ./csu/../csu/libc-start.c:128:20
#45 0x0000703d15b4ce40 __libc_start_main ./csu/../csu/libc-start.c:379:5
#46 0x0000598772047665 _start (/data/llvm/build/bin/clang-19+0x1079665)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzsW09zpLiS_zT4olAFiP8HH-iya55je173tr3z-lYhhKjSGiRWEu7yfPoNSWADLpfttqd3I974YCghpTJ_-UeZEmCl2I5Teu7Fn7z44gz3ei_k-Z97zHd_7sPwrBTV_TkRbYt5BZjywgJ4fuGhTYU19tCmae5aD23KnjWVuTLuoQ1pMN_BIAfw6rEn6XWDlfLQhnHS9BV1T3slDRlBcGM7VRgGaIWm3aBt3XU9xJLsvfBCtdvUB_ALAlDpygsviIc-eehTkI6dK3rHCIWCN_cAfrdNnT5gBeAdgAJoqvRKuQvpjUB-QUTbsYYCKqWQXmibBjms1EuR7UPzk5Ue2hTXNx7aXB46uTZSspoRrJngK9J1XlikyNBYN8CNCgsvLExndzcMub9qu8ZD2aRPcX2zFlzTg_ZQ4qH1dPy16CWhn4WbyEOFh3JABFfazFUoRaV5ALzEZ-rrtz9w01MPZR7KPZSCGrOGVivPL75-viyuL4Hqy5ZpgEHZ74CknZAaaAH2WndG7R7aeGizY3rflysi2kcgzAV2Uvw3JdqoTameGjUDazKDEvWeAiKx2oMSk1stMaFGnE7STgpClaIVUFYg02xGYqUEYVjTCsieA0Uk67Th91pjcguqvu2clvwVsH9fpdhJ3AIsd31LuVZH1facpRISAKgl6xoK-F2nD0kE-R2rGLYWBSDuD-PzQ5Zskwj2_JaLHxw2jPcHuOM9gNcAGsYqJp1xdfoAAayYwmVDYS0pBZA0FEuIlYYlrYWk0CBCeQVgixmHNWso5Lilo3kC2EraDGqGrahoA5TGmhEA21rilsJOMK6p9MIL3DQA1lxAKXpeMb6DLdZ7ALmApstOGkChcQQrD5Y7qiHpeiMTTCIAa-ssTA0uBGBrgAOQcitCS1vS3YtOwx9M70WvYcNKgptGjUNx04gf8A5LhitGYN1zYhhXhhLjt9AoQDMOS6aJqCg4GQP4nTMxVjp2pverwF-VBIxCqOoW3lGpjC-EF2Y8mMo3xIyhpaZY99JM_qnThwwBWNGy3-2ohLrnzLjYxa4qHZTVDyxrWDFJiRbyHmLVAljbAdBFDaeaihkNeGhz6BJjd7QV2yHqASipM2_T63mrdMFkDC3GLq1iOW4gU_dK0_b1Yx9D6ADq9ofEXUelMlSdW263tv_WPpY916ylY7fVHsArcDqAn9beQ79jQgzDLNM7Qgxszq0e3MlIEXhos1o9_TeRzMV-2_mvnenIqF83-XQmo3RMbn9gWf2N7a_G9q3Od5L1wWn-Qkc50vfpbPRgbsjTWZ9X0OnRb5_iNTC9Orb8raO_SEdHU-66op2kxGYWLSZSuGUT91qYFR_A2ubUsGEmwTSLWr3jPZms1tEKrQIAa3XLOigqCcmeklvIONy1tUksDgdID4R2QyZRz34Q0QgJK4Z3XCjNiMny7VLN_qSwEaKbNaimA5D0zAiBUkzKCNE6qfMcoRzAi-32t_V6-4_ij8vtxb-Kbxu0XW-utsX17yapMLWDhza67cx_qjS0aQX0aRpV2UoBeAA2W3ysLILVqSXUtZkL71sqGbGPbJ7WbG0uj7le7W0NgVDqhUUAvHB93dGmcVnKRxH3DfHQCy9N1ow1wJwLbfMaoMUt5Z5foA8TJbSSmJk6LBXjO2ASXtVhYlKy1NFJPd_k76EP_IPv-36cZ2ka1hSXYQKsa9sySN0rd_NVMq5tcXDjyovssZPEP7ZCaUlxOxRSjGtTLz0JFuPFuvJ135k6yEOb_-LsYBrYjuNGrRgntqoLrV4GRoMlo3WcggVXjsA_MK8aKj2U3QlWDaXb-1jJMwup4wQtOMlCnB6D7FvPZwwpVx--mpWRB1fkBn5sLWlgIlzCERIKlvJ_hBqiIJzIHg3Tpn5YBXGZxDHygZVroHYk2poaZqXEKvHQJ_8QoRj5pkx2BOM5wTLPawK2207vJcXV9pY1zZa1XUNN0ek8xgR13mmzbEy7rSy3kVFXMhBPXkN8iM8nyaZW_yP26TGy0zEnaWX5lFa2BDRKE7BTVgWWjLsdFzN1ryramcDQCWW1JTFT1BK2EWwUPZ_Tjcq0DgEuhdSOqq6cvmyT48uEjNTuP4WB_2R4UIItb7aNwNW2EqaYBi7Ps1Ka5lbtCHa0giA1zOQDtWBOLSY0T95mNWFO88RZjSE4c0EcJkmUlL9m9-edW1WxMaR4kGLmwxnGNE3801KclOBFDidrydDyyO1qb7xnWKcce9GUvTyOwyqLZyDRFru7C1r1hBa9Fjf3HZ0zaVo-C7IA2IpmYJ21_mePG0dhqRD1MNcNbbsGa2rnNMhe8VoMA0ohmul1ysYw7LqjZI15xSrzg-rnloe5Vq2o7vJk_lGzKPON_wUDevEMvRD5URgcR29t0rGRbDHsr81B_KfgBpex01cs2wtKmlMIvgLup3MuYX-5xwti_Afj1c_hO-7tZqmJl2j0mWQOa5CTLPx5WHFLq-NALgdaE14Kf2L8MoK88LDn9qigcpnTepJOXLe4af6wCbaNYeH6lH7Cy4HLdxP4hTpOwtQs29Go43ShY0wS9AZ-PjO10POjz75ZVceIH4k4__f6mse-4vH2PYpJEpN0hmhQTLZQTFD70SsUc1UdWRaGZ8aFPkwf7xA1SoJ0Kmq-EDXEUXZc1ILoL_yUqNdEmKal2a2_f7dPzIr0cgYye_ilw__T069aHjcOi6kxjNmgq4pyzWpGpcFrOMt6b9x6NNvfe43LhhZS4vtvtJ5z9hVLRaujxvvCBCeWdOMdjDBtEDcV7kMu9B4zyEPfJkLODNCsPM4iFAcEg6VgQ5JWuKKeTmzB1PaFemoSp3X_rGCvdmnL1nhdiBiESTQVcVZYZyHKUPqsiPbeRFEsrYYM_9ak1Fw-0-W4bE-oPVjFJKpOc1xCqFIP85ygNs45QeuZnp9dCqVoVWgt3XKx9IOfN64Z9oap0bQCG0yHCgvNSpgM1TkJ839L2E8A-rRgmYHrihYU-8Zlw2wANly4rF9n1WuBLWpN5YjMU2xNLyFflvQ1CH91e3OG7Lfi6upL6U74X1oHjirWAsrKXlP1ClW-K3qg0G6FDDUiipZgl3V5EpVpKjaA_kVa5nDD_hyEfAvu_98ACuxeUTjsVKB4CVCS1q92c42lZnz3L6b3P2eUPwXOu8SPfffPSZ_M15agrjB6rfS_2gxe7nF0V-gnV4Mgz-wqPEatdL4c0Cqf17VPkLo8uH3LZxH7CIknQcqtK28WWQ7y5rkN0qNhZHPDiDDJyElxrzin8p_jOcbs-GFSMB3JOgci8_EuJK9B1Hvh5ZgKJ8cK8Q81sU-4wZzQ6oLa0zoqbyQmtybkvNntjErW37-PUTkNH_cVUb4EF7_gdVNcP9Dnls_fJWGMxtMgD4XzYysTWOqS_h1Y3Fmjb8_NkgGp4N8qsISLtJoSgpPTCYnoPtM72ri9oezlKtt0_E2KvrNV7sntst9F1Tf0qu2E1Nfart5vdvRRzjQxag1HtYYLOVNC_Sdy2u39bMnasf2it_FUXN-My5jjaihqwlk6GAdhFYazWrK4vtlI42a8KuzmuWu-PFDSazo0PXNKOudnJDO5Labb8UGQI3sZOJvlYRH14zSbcbYWFf2N8ndyNVB5vFvwFKWPYTpMFmCRks52004g9UEY-RmaVE7hLAeJ_SiNs3qOkX2JW17Z1w0IPQ7T8xK8yvgnTC_ne2A7CUzqNK4Fs1wiRnWUoHp--GEZfKR29xBos1PSvSomjezeWDfaPDvXGJ2zaa0azlZq5MdpFOWAkGDbYsZnSc50X22P5eP23bCHNmtDa3Dq1YdRAi1Eo8xTye5MErIZZ36o9dBkoyjy58xGGaoSMAq8DhwCx_OycSP7CeeLvW9DY1iGJ1nZW0RwN6MAwcM7E0aAYClAhoZidcR7TPr22B2XFX8te3EyWakjNGcvCynKgD1of_alu5H-8xo1D-BsVrvP_YBJuDjoJ1Xug-22YSXZKlN_bglumu3DeT9R_dN3EYZXHY4Nsls09tQ7GOWMllPSyAd2AONML2dxt4Y0tKTd-wUomwoRH6M4E-IY_0cph_a4cQjRUbKwmDRJYuBIDu8vvOb7B_sGQ-CneZLEHsrPqvOwysMcn9HzII39MIv9ODrbn5cpjtKaxj5OYuzHOAjCPKN-GuS4xFWdn7Fz5KPYT5DvIz8KolWepznJa5rQ2q9qEnmRT1vMmpXhZyXk7sx-MHIeRFGe5GcNLmmj7OdICA02g7z44kye2-9Myn6nvMhvmNLqkYRmuqHndmsMuDfyGd9ZrwAPH6asQa8oWBuSQAswfu6D3Qt7t1Ry2oAfe0b2wH3PML66v6NtC-w7OPXw1UrZa8D0-JEMBrNPh8562Zz__FczAw535-h_AwAA___Lzcv_">