<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/130014>130014</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[MLIR] Assertion `succeeded( ConcreteT::verifyInvariants(getDefaultDiagnosticEmitFn(ctx), args...))' failed.
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
RiRi114
</td>
</tr>
</table>
<pre>
Test on commit: 0f9720a6
steps to reproduceļ¼
`mlir-opt temp.mlir --nvvm-attach-target `
test case:
```mlir
module attributes {gpu.container_module} {
gpu.module @nvvm_module_example_1 [#nvvm.target<chip = "sm_70", O = 3>] {
}
gpu.module @nvvm_module_example_2 [#nvvm.target<chip = "sm_80", features = "fast", O = 2>] {
}
gpu.module @nvvm_module_example_3 [#nvvm.target<chip = "sm_90", features = "ftz", O = 4>] {
}
}
```
crash trace:
```
<unknown>:0: error: The optimization level must be a number between 0 and 3.
mlir-opt: /home/fuzzing/llvm-project/mlir/include/mlir/IR/StorageUniquerSupport.h:180: static ConcreteT mlir::detail::StorageUserBase<mlir::NVVM::NVVMTargetAttr, mlir::Attribute, mlir::NVVM::detail::NVVMTargetAttrStorage, mlir::detail::AttributeUniquer>::get(mlir::MLIRContext *, Args &&...) [ConcreteT = mlir::NVVM::NVVMTargetAttr, BaseT = mlir::Attribute, StorageT = mlir::NVVM::detail::NVVMTargetAttrStorage, UniquerT = mlir::detail::AttributeUniquer, Traits = <>, Args = <int &, llvm::StringRef &, llvm::StringRef &, llvm::StringRef &, mlir::DictionaryAttr &, mlir::ArrayAttr &>]: Assertion `succeeded( ConcreteT::verifyInvariants(getDefaultDiagnosticEmitFn(ctx), args...))' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /home/fuzzing/llvm-project/build/bin/mlir-opt temp.mlir --nvvm-attach-target
1. MLIR Parser: custom op parser 'builtin.module'
2. MLIR Parser: custom op parser 'gpu.module'
#0 0x000000000113ce77 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x113ce77)
#1 0x000000000113aa0e llvm::sys::RunSignalHandlers() (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x113aa0e)
#2 0x000000000113d855 SignalHandler(int, siginfo_t*, void*) Signals.cpp:0:0
#3 0x000070d97cb89520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x000070d97cbdd9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#5 0x000070d97cb89476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#6 0x000070d97cb6f7f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#7 0x000070d97cb6f71b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
#8 0x000070d97cb80e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
#9 0x0000000002829974 (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x2829974)
#10 0x0000000002829d9c mlir::NVVM::NVVMTargetAttr::parse(mlir::AsmParser&, mlir::Type) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x2829d9c)
#11 0x000000000282b638 mlir::NVVM::NVVMDialect::parseAttribute(mlir::DialectAsmParser&, mlir::Type) const (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x282b638)
#12 0x00000000069af1c6 mlir::detail::Parser::parseExtendedAttr(mlir::Type) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69af1c6)
#13 0x00000000069dac96 llvm::ParseResult llvm::function_ref<llvm::ParseResult ()>::callback_fn<mlir::detail::Parser::parseAttribute(mlir::Type)::$_0>(long) AttributeParser.cpp:0:0
#14 0x00000000069b495e mlir::detail::Parser::parseCommaSeparatedListUntil(mlir::Token::Kind, llvm::function_ref<llvm::ParseResult ()>, bool) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69b495e)
#15 0x00000000069d561e mlir::detail::Parser::parseAttribute(mlir::Type) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69d561e)
#16 0x00000000069d7c96 mlir::detail::Parser::parseOptionalAttribute(mlir::ArrayAttr&, mlir::Type) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69d7c96)
#17 0x0000000001857b7e mlir::gpu::GPUModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x1857b7e)
#18 0x00000000069b881e (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#19 0x00000000069c3d01 (anonymous namespace)::OperationParser::parseBlock(mlir::Block*&) Parser.cpp:0:0
#20 0x00000000069c198e (anonymous namespace)::OperationParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#21 0x00000000069bfbf9 (anonymous namespace)::CustomOpAsmParser::parseRegion(mlir::Region&, llvm::ArrayRef<mlir::OpAsmParser::Argument>, bool) Parser.cpp:0:0
#22 0x00000000043648ce mlir::ModuleOp::parse(mlir::OpAsmParser&, mlir::OperationState&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x43648ce)
#23 0x00000000069b881e (anonymous namespace)::OperationParser::parseOperation() Parser.cpp:0:0
#24 0x00000000069b7108 mlir::parseAsmSourceFile(llvm::SourceMgr const&, mlir::Block*, mlir::ParserConfig const&, mlir::AsmParserState*, mlir::AsmParserCodeCompleteContext*) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x69b7108)
#25 0x000000000424207f mlir::parseSourceFile(std::shared_ptr<llvm::SourceMgr> const&, mlir::Block*, mlir::ParserConfig const&, mlir::LocationAttr*) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x424207f)
#26 0x0000000004240f8e mlir::parseSourceFileForTool(std::shared_ptr<llvm::SourceMgr> const&, mlir::ParserConfig const&, bool) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x4240f8e)
#27 0x0000000004240793 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#28 0x0000000004240503 llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_3>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#29 0x00000000042ec4e8 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x42ec4e8)
#30 0x000000000423a151 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> >, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x423a151)
#31 0x000000000423a403 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x423a403)
#32 0x000000000423a612 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x423a612)
#33 0x000000000111a8d7 main (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x111a8d7)
#34 0x000070d97cb70d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#35 0x000070d97cb70e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#36 0x000000000111a435 _start (/home/fuzzing/llvm-project/build/bin/mlir-opt+0x111a435)
Aborted (core dumped)
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzcWk1T4zrW_jVioyIlS_5csDCBvO-taQYK6LtNybbsaLAljyTT0L9-SrLBsUkgdKdv3xmKAseSznme86UjO1RrXgnGzkBwDoKLE9qZjVRnt_yWe55_ksni-eyeaQOlgLlsGm4ASSEqkwgjGgKUApRqw1oNjYSKtUoWXc7A5QqcL0FiR0GImpqrU9kaCA1r2oX9CCGEp6fi8bE5pcbQfHNqqKqYgRCCEPVyjdWbU80AGQT1v3Y9QGkji65mkBqjeNYZpiGIzqu2W-RSGMoFU-t-Cogu7BBAKYR2fFgIfGT1D5PW7Ik2bc3WHrSmwMSOLXpQgCzzDW8hIBcQYKybdYQAxgAv4bW7SQC5BMGoBUQXB2rDh2iLX7SVjJpOWab9WEm1mQDBPwyEHAIk2QvEfJ_g8HfiGP6--LH3cq6o3kCjaD73s70my048CPlNWIEkRTb6mFJS2Yv7DYOyNbzh36nhUsCaPbIaNp02MGOQQtE1GVMwY-YbYwIiSEUBycIGzxCSVgzAq41sGMCrsvv-nYsK4FVdPzanrZL_YrkBeOVCDq-4yOuuYOONP24BXt0ZqWjFvgr-746pu65tpTKLDSCpFzvA2lDDc7iUIlfMsHvoVpMUkLRghvK6v36Ro5k6d1G_HOf9888_r8are-ef1BhlTT7OSl9yYXp7XLytbipoUD5duD39VfbAs3cIIKmNFByPi66-_HG7lMKwJwMBTq3EVFUaAhwCHC4WC4ATG2yjOWzEHEbV2mU-f0J6oLFf5kEWGCjOpbxrDryE94pyM-QEWVoDvXLvb3FhejMsoQ2wF7crLqpbVv7c0Ajzguc2G6h6tiDfjqdK0XHIJaqN0lRrplwagRDpLs8ZK1gBcDwGbr_-kSlePv8hHqniVBgNcFwxc8FK2tXmgtNKSG14ftlwsxIAx7l5AjixGKiqdB8A7jeCJeU1K2xC3ny5TO8uoe6yhhtIYdZVdj-RytidZWNMq612vAJ4VXGz6bJFLpshU98mLNe6YxrglUv5IW-h2TDY15uM5g-u5ljdd4bmD7DomravQGgB3c-NkpWijYXdNcwyPaxaZB2vC_ufi6FUuN1v3Px27XwApd6g12YQvKFKM1fm8k4b2UDZwtbdgwBHVoXhYijqAEcApfjw5eN-0C-FABME0RN6-fE8krMo2go4_az7ixvFhXEmu3dFG8fjJEW_raU2itFmCDsujMt3HP-w4QA-R08DIBs3PVxvBpdSxHbBve3EHa8Erf-fiqJmSjsox0FkdY6I8AxREQcBnOgGOHb2WELNKy5KuTZDhXyUvHCXybBCL_K2HXY8NCggg4IIFUmUZ3ESYDTwqHkG8OopDtehf1pz0T2dVqLrB_KFlovQYfZxgNGI2J8KLIqkzGFrNorRYv3A6_pz0pMwKfNRejCH60chrLSj91nYfhSOgsOp4LCMSgJpZmvFp8TiOCrJKDZ6I9bLPi3Qy0aB8cwAiCXh5wSShCVbxJPtCMMxTpLI__lAHgT1amxmobmaIskP2aDdPVdkJg1BqpuhGs13ovvnlh0lFweQIwVvRiELSbyXwgWntVUx4t_qKeLtjdXN-5hPLoU2R2FlcY-sJhUmTGjp5eGe_uS1_r9QunwyTBSs6Fup-Bc4YQA0wiVTuAXNk3CrRDuIt0x3tdm6W3bCtS9rxUpAlrun9zX8tQXNaV3bHX1diknX_K5Bdvt4sEb_AWB_jVwfF9fSWiOBr6t6ebMqbVn7U9aZnwTsUCctZdPQO9ZSRQ0rvnBtvgrD6ylC-cBEf_kPLoppW_hJ6-ElzKSsj-R-R3V0fzBzfxB6BxviXeccA6tDM2INZ1gjG6oHYr1uXbtd78b82m3_uuo34B3ZRJNOJA6iLNq2fNV2_cX_3Xy9cl3gdbuveF-3-8vddcuUO3jfGWpZh8fpq3q8I5t4llBx7DGrhgopnhvZaShow3TrmtFkBm2Ht4aRoQ_cm8fJVG1OCuT9uNrzWuYPE8sOd9LBbvtwYDTD4SXxT9C_ZVXPfQTycmt2wnSBe-vKyO5wGGb1Z6NZNdnLxps5s8zK5CM2S3eCeaP6b8FnsiX7JPTjfDvV_n7pNWB8TS9Mfkt64fk2GXlou0PrdwHd3MlO5WzF6-lBs799Vam-13pjuzG5tu_2YJZSlLzas_DVHYPR0z3DS1nY3bqtmWHD067h_HaMjdQaY_TQZCP1sY9RVM5NNbGTNsVwCt5QxYp1a5vz5Q7rAXJ5bAN-kbnzf7_lHcciA-fRIuHMIqiM2X6LrKS6d3l8DMPsNcHRGqmBz8g2mrONEgJbpkqpmtS1e_qDpzBH4L31WPdNWFzVXF235opy8cYwCdwa3VEH4jm5AJGtqv1FVjyn9eHHhOmCbZ937kntG-5XrJHq-bwry_4p7uv8on-iuS6YTfL9a8glHHaL_S74-KyyZaVDnfnrCb05-9q9VRv1_DY83guB8TRFtk9TfymVd3zzQYQm0whluc-2dyrd1tykorhRMmdav4D9PXH335gW787Y-c5j7-2jVF_n4NfqO30u7mNCvcDbHfj_c3l7DGs6e43W9ObW9BHZa83hYXm-oX0rkX42Hj6yxJEY-oiMDPGcYejhozD8S6iEHh6pkOkbDY_GRQQbysUx3p44aaOu2bsI---TLzdwUiRoFBjMBTIfwfXarllrQ5VZbzE5WAXzt1SEc_v4JIC98ONYyCdBry3NpDKssFJzqZh7WcmKAcnLFyZOijNSJCShJ-zMi3wPBx5KyMnmjJZFSbyCeThMCorLwCdl7pMwynKCCYtO-BlGOEAEhSgOPEIWfhQjFmQeKlBMwzIBPmIN5fXC4l9IVZ24N6xnHkHI809qmrFauy8RYdx_NwKD4OJEnTm-WVdp4KOaa6NHCYab2n3xyLaWILj4nW-gTzpVn_34W-bBDI9n-D8BAAD__1sRW1w">