<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/141496>141496</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Assertion `NumBits >= MIN_INT_BITS && "bitwidth too small"' failed when building Clang with Clang
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Flamefire
</td>
</tr>
</table>
<pre>
We have a bootstrap script that builds Clang with the system compiler and then with the resulting binaries.
That fails on an AMD EPYC system (compiling with `-march=native`):
`llvm/lib/IR/Type.cpp:312: static llvm::IntegerType* llvm::IntegerType::get(llvm::LLVMContext&, unsigned int): Assertion NumBits >= MIN_INT_BITS && "bitwidth too small"' failed.`
Reproducer files are attached
[reprod.tar.gz](https://github.com/user-attachments/files/20442695/reprod.tar.gz)
Stacktrace:
<details>
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module '/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm-project-a66376b0dc3b2ea8a84fda26faca287980986f78/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp'.
4. Running pass 'X86 DAG->DAG Instruction Selection' on function '@_ZN5clang4ento10ExprEngine10inlineCallEPNS0_8WorkListERKNS0_9CallEventEPKNS_4DeclERNS0_11NodeBuilderEPNS0_12ExplodedNodeEN4llvm18IntrusiveRefCntPtrIKNS0_12ProgramStateEEE'
#0 0x00000000023991ae llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x23991ae)
#1 0x000000000239631b llvm::sys::RunSignalHandlers() (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x239631b)
#2 0x00000000022dd4b8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007f51ac23e6f0 __restore_rt (/lib64/libc.so.6+0x3e6f0)
#4 0x00007f51ac28b94c __pthread_kill_implementation (/lib64/libc.so.6+0x8b94c)
#5 0x00007f51ac23e646 gsignal (/lib64/libc.so.6+0x3e646)
#6 0x00007f51ac2287f3 abort (/lib64/libc.so.6+0x287f3)
#7 0x00007f51ac22871b _nl_load_domain.cold (/lib64/libc.so.6+0x2871b)
#8 0x00007f51ac237386 (/lib64/libc.so.6+0x37386)
#9 0x0000000001e1b678 llvm::IntegerType::get(llvm::LLVMContext&, unsigned int) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x1e1b678)
#10 0x000000000197d5b9 llvm::EVT::getExtendedIntegerVT(llvm::LLVMContext&, unsigned int) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x197d5b9)
#11 0x0000000000f21be8 combineTruncate(llvm::SDNode*, llvm::SelectionDAG&, llvm::X86Subtarget const&) X86ISelLowering.cpp:0:0
#12 0x00000000035d3069 (anonymous namespace)::DAGCombiner::combine(llvm::SDNode*) DAGCombiner.cpp:0:0
#13 0x00000000035d4bbd (anonymous namespace)::DAGCombiner::Run(llvm::CombineLevel) DAGCombiner.cpp:0:0
#14 0x00000000035d7f1c llvm::SelectionDAG::Combine(llvm::CombineLevel, llvm::BatchAAResults*, llvm::CodeGenOptLevel) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x35d7f1c)
#15 0x000000000372e356 llvm::SelectionDAGISel::CodeGenAndEmitDAG() (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x372e356)
#16 0x0000000003733aab llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x3733aab)
#17 0x000000000373552e llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x373552e)
#18 0x000000000371f8da llvm::SelectionDAGISelLegacy::runOnMachineFunction(llvm::MachineFunction&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x371f8da)
#19 0x00000000016a9656 llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#20 0x0000000001da9f3d llvm::FPPassManager::runOnFunction(llvm::Function&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x1da9f3d)
#21 0x0000000001daa351 llvm::FPPassManager::runOnModule(llvm::Module&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x1daa351)
#22 0x0000000001daac7b llvm::legacy::PassManagerImpl::run(llvm::Module&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x1daac7b)
#23 0x000000000264f61a clang::emitBackendOutput(clang::CompilerInstance&, clang::CodeGenOptions&, llvm::StringRef, llvm::Module*, clang::BackendAction, llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem>, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream>>, clang::BackendConsumer*) (/de
v/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x264f61a)
#24 0x0000000002d51dfb clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x2d51dfb)
#25 0x0000000004c004dc clang::ParseAST(clang::Sema&, bool, bool) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x4c004dc)
#26 0x0000000003060371 clang::FrontendAction::Execute() (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x3060371)
#27 0x0000000002fe30ce clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x2fe30ce)
#28 0x000000000314a6c7 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x314a6c7)
#29 0x0000000000ce006c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0xce006c)
#30 0x0000000000cd6197 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#31 0x0000000002da1429 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#32 0x00000000022dd922 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x22dd922)
#33 0x0000000002da24f0 clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#34 0x0000000002d5ef65 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x2d5ef65)
#35 0x0000000002d60072 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x2d60072)
#36 0x0000000002d6d434 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0x2d6d434)
#37 0x0000000000cdb6f7 clang_main(int, char**, llvm::ToolContext const&) (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0xcdb6f7)
#38 0x0000000000bd63e3 main (/dev/shm/s3248973-EasyBuild341570/Clang/21.0.0_20250221/GCCcore-13.3.0-CUDA-12.6.0/llvm.obj.1/bin/clang+++0xbd63e3)
</details>
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzkmltv47a2xz8N80LEkChZl4c8KL7MSZtJgzid9pwXgRKXbHZoyoeknKSffoOUHEl2Li1QdLt7BzOII5JL6_fn4uKiLKo1X0uAKzS9RtP5BW3MplZXS0G3UHEFF0XNXq5-Abyhe8AUF3VttFF0h3Wp-M5gs6EGFw0XTOOZoHKNn7jZYLMBrF-0gS0u6-2OC1CYSmavy76HAt0Iw-UaF1xSxUFPkJc9WpMV5ULjWmIqcfZ1jhf3_zs7WEQkaY3yw-1Q5F1uqSo3KJhLavgeUOQhkqIgQ16GIk-I_RaRpeAFIsubB0SWjy87mJS7HQqywCcoyLA21PASu65BhoLsRhpYg7I9EcneaXAX1mAQSfoOt7ffvs5qaeDZIBIhMsONdEIzzKVpHcOZ1qAMryW-a7bX3GiMggUK5vjrzV1-c_eYX988rrAbH2FESMHNE2dWurrGekuFQIQgEjutgE0ssmd5H2CnataUoHDFBWhMFWBqDC03wHDbB02vles2MVRN1r-j6RyRZGPMTlsEskRkueZm0xSTsrbSNRrUZWtkC9JoRJbOOCJL4oUhidIpIsuxTZK2N1sZWn43ipbQTUgwY2DsDFtiL_MnGAUzqCsULPCOKm2jxWCQDNeVY0BeRibY_cxqBngNEhS14iEvC7qWh0ZKGxI7qjVGJF42snT63tsLX6mka1BWsFribc0aAbYXIksGe0SWemM5dUDCJI2DywXVL9c2sIPQn8YeIksX35bXn3gTLycemXqE-Igsv8xmZa3g0g8mwcS7nP08zy59MokmdpgNi8udqn-D0lzSKAriqPBYGRQEaEKTsGKURBUtKUniNPHSJKriBJFl2d2uDdqVi85MUvHyu6VYzmoFiCwXzzu1kGsuYUaFyCR7ANMo6UKbxHY9hZMTZX5NIjzPvlyiYDHPvuAbqY1qWq1WIMB96oSqDiJaqUIv_7-7qXMsBGlq3-tv73tcis6Nxf3dysuTX2r1_ZZrs3j40f6duqY9SLO4__FulYdzKMXiwTb5_l3NwMkNqh3tk8XzTtQMmG1a3IVWRz-5kUY1mu_hAaqZNPdG3fzYdr9X9VrRrRUKFouF9dfLMCKBh71n7_BDgjT1KQxWs37R7Yd7xaVxsfroYnW4ohV9ymttFNBtt6LbhWyT0d8SQZO6-G1iexZc9sFx3f7znjusdslZaP8IOgr84i3oh0au-FpS8T9UMgFKO6Bz4rKe91xkxEUYC4sEzxTVmwco6z2olxEOIkk3UaM-XXLuNgDP_W_tB539uJr6tCQBRJWH81yBNrWCXJlOGcGLKGx_lxNdTyLnruveOxuOjSVFGpY4z3dmo4Cy_DsXIufbnQCbUmm3zN637sb31qcnroYRXmuH_5mXYdTbicZ2SBJXAaZF_Qmr69dbiU-s-AXOpchFTVnO6i3lclLWgn1mdDjbyRFiHCTRx2i2Rz8-HUaLD34RxclfupGfyzrp2LotlwT-KOn5acymRTogX3x7fCVePBuQDFinxrfHf6gELWQvwSgFehXxC0hsOVpwCY-qkSU14yS_mtutBpHMUg4uH7bEefalk6Bv_DWJVk1hqFqDwWUtdatSin9NopsViNv6CRSX66NUY_0bpbJgygIvcmJSWcuXbd1oLOkW9M7tRWl7u3n2ZdYSqPZCx_MeR4oHI97wITjyISwK9qd9eGjk6P5d6y3sQXzuQnjkQlz55XvqD81_cMvhBF1TU26y7MGdNfTJ5Npy8gvIn3bm1d0ziedOij6epyOhYgLBNHpHKBt5I75MssWWGxfB57S_dxg9ZDSGDAJKi08h26uZENdU8_Ja1OV3PQqP16PAcIWejQQOspcgPpJgOiXwqQSqkT_Jr7TccAkH2pEEJ21npoGl7DVIxhr4VcLoBxrcwpqWL_8ZSjjWXolxCRPRNBqt-iMYe9QdyPAm_yn4ZEeVsR6m-A17pzmbjKsLRtMqYAOnlvd23OHE_afdOYd56KBe54H4R8g0mPp_APmre9Awjr_u0pnhWqAelxzjlvEwD4vBghuA32x3fT76R0CXcZ95yagaIlFYRT7F7SgHAVturmn5HST7qTG7xh4WBs2z7lHnjdSGyhK6YnHU41Bt8Frqk2JyZWyp-ADV-PJBu-zIWudK1i2f2fhkc_SYBAWzvnlfdVliyQWs3GNVFCysCW1Y29JI_v8N5LujkYo-5bsnxQ3kh8chg0EMKtoIkzMQYOCTgcGiu-cp0qyWutna43s2jBfkZf_u5xFtUPQhM6peCZv6rCo-AnIX24cTj4pKLdyx_2fJj2IpWz0OT11ns2Y6xF6AUVUalp4XsnIowD1VGrLV4xhvBVvahX9R16L_fTagHUoPOq5MvciWJUPQpbLz9boc22P2M5SNO2WeEVnne082KjhJBYFXAv4orw3ZDtkneV-K8wrglq-nH5eafkijMh7Sd5y9CPu6pKfMp8k_OyPqjqunHpWVXgmeF5W4LP18S_l4586Uoi92Twpm5YaqwxEqOyTv0TUyw_uas_OCb-le2cdfCHgli_w0xodpnvmPLhENn6dsqRDfoDR1V-C8IcTRTm5tdPl7dOZkiu_fegpy9LyeUT8kqZNyYPTwXUyu3Gy41ja1uL3UPQ6iQhS0_J5X0rrZh2d74y5UZ_6s3m6pZMdZ6s1Zf93da1e2UDHa1_ua5XU_fx2Q5-Xzs--3fxT2bG73fm59chKOOtsLuVGUG31oPjJHhbBLr1aDdtsl67cPF3at4G4IIrGg28IeqOJeKpKI2kZIin-oizcm4-RLhpSQ4TOjN75K6L9NoRWIl5GWH8_b-ayTjrRfKMFRUJKw8vB_c1AdHZbfjp7jkhCqaPquam7XoCcVw0HK0RZzNNB2GCSX2Qf3GHbNRnXXAOwsQrCVqw_B6VjMyPNi8mfF_KEu9PtK_lAXt1ybkZIf5f7XyNlRboPGfQvyx8Xvwuucp8CJ3E9BdDQFLAzC93Dng8-jwumNium9qfsbp-B8Um8ray96fFSjFFHVVaWHCu0A7VJedvLFxnsVyJkAt0Q976gK9woWBRBgS3ouDrcuvb7ThIKZ8-rwGtMFuwpYGqT0Aq78OExIbE8TF5urKIpSrwIa-0FFEz_2SpgC0NRPaViGrLjgV87LKYn8MAgImcRRykg5ZREpoCi9GIUebCkXk9ZLtb7gWjdw5Yd-mEYXghYgtHuDj5DOa4Km8wt15V49Kpq1RqEnuDa6N2G4EXDVv4OGIu8veQ0NP21Atm8EcrkevhPoPl40Slx98JrZ4UW9wTtTiCwdr0Zk2SHvr8i_AgAA___Cdbsr">