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

    <tr>
        <th>Summary</th>
        <td>
            [RISCV] Crash with debug info and Zdinx on RV32
        </td>
    </tr>

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

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

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

<pre>
    https://godbolt.org/z/Gjbxzxdrr

Stack trace

```
llc: llvm/include/llvm/ADT/SmallBitVector.h:389: SmallBitVector &llvm::SmallBitVector::set(unsigned int, unsigned int): Assertion `E <= size() && "Attempted to set out-of-bounds range!"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ./bin/llc test.ll
1.      Running pass 'Function Pass Manager' on module 'test.ll'.
2.      Running pass 'RISC-V Assembly Printer' on function '@_Z3fooPdS_'
 #0 0x000055a3a250c9d8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (./bin/llc+0x337c9d8)
 #1 0x000055a3a250a51e llvm::sys::RunSignalHandlers() (./bin/llc+0x337a51e)
 #2 0x000055a3a250d0ad SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f0628778cf0 __restore_rt (/lib64/libpthread.so.0+0x12cf0)
 #4 0x00007f062726eaff raise (/lib64/libc.so.6+0x4eaff)
 #5 0x00007f0627241ea5 abort (/lib64/libc.so.6+0x21ea5)
 #6 0x00007f0627241d79 _nl_load_domain.cold.0 (/lib64/libc.so.6+0x21d79)
 #7 0x00007f0627267456 (/lib64/libc.so.6+0x47456)
 #8 0x000055a3a14ef586 llvm::DwarfExpression::addMachineReg(llvm::TargetRegisterInfo const&, llvm::Register, unsigned int) (./bin/llc+0x235f586)
 #9 0x000055a3a14f0107 llvm::DwarfExpression::addMachineRegExpression(llvm::TargetRegisterInfo const&, llvm::DIExpressionCursor&, llvm::Register, unsigned int) (./bin/llc+0x2360107)
#10 0x000055a3a14d64c6 llvm::DwarfDebug::emitDebugLocValue(llvm::AsmPrinter const&, llvm::DIBasicType const*, llvm::DbgValueLoc const&, llvm::DwarfExpression&)::$_0::operator()(llvm::DbgValueLocEntry const&, llvm::DIExpressionCursor&) const DwarfDebug.cpp:0:0
#11 0x000055a3a14d62dd llvm::DwarfDebug::emitDebugLocValue(llvm::AsmPrinter const&, llvm::DIBasicType const*, llvm::DbgValueLoc const&, llvm::DwarfExpression&) (./bin/llc+0x23462dd)
#12 0x000055a3a14d26a5 llvm::DebugLocEntry::finalize(llvm::AsmPrinter const&, llvm::DebugLocStream::ListBuilder&, llvm::DIBasicType const*, llvm::DwarfCompileUnit&) (./bin/llc+0x23426a5)
#13 0x000055a3a14d1707 llvm::DwarfDebug::collectEntityInfo(llvm::DwarfCompileUnit&, llvm::DISubprogram const*, llvm::DenseSet<std::pair<llvm::DINode const*, llvm::DILocation const*>, llvm::DenseMapInfo<std::pair<llvm::DINode const*, llvm::DILocation const*>, void>>&) (./bin/llc+0x2341707)
#14 0x000055a3a14d3d4b llvm::DwarfDebug::endFunctionImpl(llvm::MachineFunction const*) (./bin/llc+0x2343d4b)
#15 0x000055a3a14bf1e4 llvm::DebugHandlerBase::endFunction(llvm::MachineFunction const*) (./bin/llc+0x232f1e4)
#16 0x000055a3a14a85d7 llvm::AsmPrinter::emitFunctionBody() (./bin/llc+0x23185d7)
#17 0x000055a3a0a291df (anonymous namespace)::RISCVAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) RISCVAsmPrinter.cpp:0:0
#18 0x000055a3a16f8e6c llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (./bin/llc+0x2568e6c)
#19 0x000055a3a1c22801 llvm::FPPassManager::runOnFunction(llvm::Function&) (./bin/llc+0x2a92801)
#20 0x000055a3a1c2aa22 llvm::FPPassManager::runOnModule(llvm::Module&) (./bin/llc+0x2a9aa22)
#21 0x000055a3a1c232f7 llvm::legacy::PassManagerImpl::run(llvm::Module&) (./bin/llc+0x2a932f7)
#22 0x000055a39fb4381e compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#23 0x000055a39fb40e9d main (./bin/llc+0x9b0e9d)
#24 0x00007f062725ad85 __libc_start_main (/lib64/libc.so.6+0x3ad85)
#25 0x000055a39fb3d02e _start (./bin/llc+0x9ad02e)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzUWM9z6ygS_mvwhXouhH4fcnDseDdVyW4qfpvDXFxIIJkZBCpA85L312-B5VgodmayO3vYVBJbqPX19zVN04IYw1vJ2A1Ib0G6WZDBHpS-sarvma4XlaJvNwdrewPiFcBbgLetopUSdql0C_D2J8Dbv_1avf58pVoDtAFodfy_s6T-DVpNajYdBhkaf_2lEDWIV1CI3zuAt1zWYqAM4O04sNp8B3i764gQt9y-sNoqvTyAeBUXpXsuvAMBzvyD8QrEq_DeccwwC3AxSK-ZQi4twGsYXnvglTFMW64kBBm6gyBeg3gDDf_JAC4ALp0rgDMIMF5Zy7reMgqtgoZZqAb7TTXfKjVIaqAmsmUARwBjgHPYEC4YXR7VPz3crXZ30AxVxy0ksBpaqFmvtHVYs7BzexiqZa26c3jcx7deq19ZbV34jBmYAXgLiXRifDChPTBYa2IOsCL1b35CltMpokPXOy9-CC2h_3nSqtWkg0S3Q8ekdTzgEuBtxaV3XEPLjF0KcXwuGp97HqTksoU9MQYCnG8HWfswPrmBRyJJy7SLg5KwU3QQzFmdoHA-MsNX4J7vd-tvL352ukq8wSfNpX0HbE7OAM5Bgva_xI1ST3S3d9ceFwIcI4heEUIoTUlMcIrqkhbwnDbmzRy_eGwfou8-iXFxNtLkx14ZqxnpfCKsx9SBABdBlAC-Ra9xnDsnLrXeWUQzFiSN2CUWz4Pc8VYS8XciqWDavOffZUcOJ3CEZ44oIhQGkAAXI_vjsFnWvcsI5P_egeIRKG9Qhos8L-oGwf1eM2OVZnttoae2FbzKkuNnbw-aEbo0aok8wQjXDQroJVPUHGeMNA3UhBv2Ea52QJkHSpxdAJSGQEnESApJpS7xmgBhZxcAZXMgmpdwL8VeKEL3VHWEy2WtBF2iP0CmeRkg5zOteZJmn6t0FgFEMZ3NKGFNWmSTtNn8ILq5e-01M4YreRwklD6S-sAle2ZtkMbfiW6ZfWYtN5bpe9koWCtp7JjTZ8OTyYVqeTkTcZw6agH3MuTeoAjlX-I-ufkfqdjcnxHWgzZK_xVCM6fjXahb2igUSrOk_jBJG1YN7fGaddz6ywdVvxAxhKVmZbqxyl1VdUsMr7-_9exksZpZVK3HfVD1NYxZ7HF23Af97pPs0fGr6pkmbi_1JShgOXFxJ61--9oMlEdzeI7MxxLkAhvNA4sp_T8M7LVMSpyeIJPwTDDOSDpFH8X5kB-HGi6JOLYpX5E6Au2OW5ofe-DG3g5cUPZxmfyJ0Djha9X1XLB_SW7_QLkTFiiPZ8qj_GOxmEx1rYRgtb2Tlts3VwLC7LxEJtSzG6p-7HmuCGLSsB2zIF4bS49jPeEaxOspzj8UvRqS-wdVE9-gvBvEdxe8PJLeS_gfePpdceq-uqtPJ8TFO5iQZDYhMU2qz9aepKfe777rRTAdY0V_7w3PIq7zce4CPmnIp2oilswzemxwbolhH1j9t4ywcxgwykJGpEjpNGXPi_BcnU4ObxV9-6yxw3Hk0AJ3-dQdIriMaOOeJlLJt04NBkrSMdP73nUs5q5_fpkT0YP8p5xF4LPojJkzw7pcscN-JWsKltXwKrJ7SZhwukhmxuJyuNLMOQrCFXYfNcYFiiZMtk_O-ekF5a_gQErnYsoBoxkHQjD-Exwe_YtSOCXj0Kf-HXzgP5r5j3EzzVDBWlKP-8iEiV-_JzZfZ-GcBCymm1rZVElcRK6Q-er8LrU-EO0X4Ky0PTy8PK6VtOz1tKUIUV_MPRzP_CBWUui698tUy8oZBExnLycpoUUK93vXpO-NJdruT3BXW_jYPROApiGtmCLM4BHuCjHiTM4YpxOUBb2JaRmXZMFuojxCRYHKAi0ON00ZkYIlOMuKCNekYVnOCMoqEjOWlnW24DcY4QTFUYlREiO0TJKiipMGM1JkWV5SkCDWES6WLvBLpduFP1u4KdIiSxaCVEwYf2KEsWQ_oL8JMAbpZqFv_KlENbQGJEhwY80ZxXIr_FGTLx4g3cC1P5n4we0BUleyIXf9O5EU_kK5fHWv9c8vMV4MWszPob5wIOJ5_zsAAP__VS-Vuw">