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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `idx < size()' failed. with opt -passes=constraint-elimination
        </td>
    </tr>

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

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

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

<pre>
    llvm commit: ae4256355ec90
Reproduce with: ´´´opt -passes=constraint-elimination bbi-73959.ll -o /dev/null```
Result:
```
opt: ../include/llvm/ADT/SmallVector.h:280: llvm::SmallVectorTemplateCommon::reference llvm::SmallVectorTemplateCommon<long, void>::operator[](llvm::SmallVectorTemplateCommon::size_type) [T = long]: Assertion `idx < size()' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: build-all/bin/opt -passes=constraint-elimination bbi-73959.ll -o /dev/null
 #0 0x0000000002e50973 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (build-all/bin/opt+0x2e50973)
 #1 0x0000000002e4e68e llvm::sys::RunSignalHandlers() (build-all/bin/opt+0x2e4e68e)
 #2 0x0000000002e50cf6 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007f515dc55630 __restore_rt sigaction.c:0:0
 #4 0x00007f515b39c387 raise (/lib64/libc.so.6+0x36387)
 #5 0x00007f515b39da78 abort (/lib64/libc.so.6+0x37a78)
 #6 0x00007f515b3951a6 __assert_fail_base (/lib64/libc.so.6+0x2f1a6)
 #7 0x00007f515b395252 (/lib64/libc.so.6+0x2f252)
 #8 0x0000000002ad58ab (build-all/bin/opt+0x2ad58ab)
 #9 0x0000000002acf34e eliminateConstraints(llvm::Function&, llvm::DominatorTree&) ConstraintElimination.cpp:0:0
#10 0x0000000002acd691 llvm::ConstraintEliminationPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x2acd691)
#11 0x00000000031addbd llvm::detail::PassModel<llvm::Function, llvm::ConstraintEliminationPass, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
#12 0x00000000026348ec llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (build-all/bin/opt+0x26348ec)
#13 0x0000000000ae1c7d llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) crtstuff.c:0:0
#14 0x0000000002638bce llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x2638bce)
#15 0x0000000000ae1a5d llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::PreservedAnalyses, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) crtstuff.c:0:0
#16 0x0000000002633b9c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (build-all/bin/opt+0x2633b9c)
#17 0x000000000071f390 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::StringRef>, llvm::ArrayRef<llvm::PassPlugin>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool) (build-all/bin/opt+0x71f390)
#18 0x0000000000731731 main (build-all/bin/opt+0x731731)
#19 0x00007f515b388555 __libc_start_main (/lib64/libc.so.6+0x22555)
#20 0x0000000000717980 _start (build-all/bin/opt+0x717980)
Abort
```
[bbi-73959.ll.gz](https://github.com/llvm/llvm-project/files/9652180/bbi-73959.ll.gz)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdWE1v2zgQ_TXyhbBA61sHH9wkxhbbYoMm6NWgpJHMLS0aJJU2_fU7lOzYVJzYbVPsYgNHcsSZN29mHhlShawe50I8bEgpNxtuvHBBGERBnIRxDGVOPXrt0cUn2CpZdSWQr9ysrZF3FXjvouOr3Boy3TKtQXvhdSlbbRTjrZmC4BveMsNlS4qCT9Mwj3NfCDKVxAuWFTzgte2E8BK6--yC6k5YRsOfo1EMZ3n4PjrzthRdBfjNpoK3xfU9Xu82TIjPUBqpfEs6yKh16W0QNVwcGdzDZiuYgSssg2yHYQU1KGgx64tcroRsGy-4Ig-SV154MzjILSiG1l78zouvvSC7OLzm32FlHreYV07Q_Z5gXUkfBIEwkQXWWvVlxarw6huOXxHrhVHQxwtSUjMuoPKHkt1-uFnc3RDdFdhpwkjRNUTBVipDjCRrY7baRg6W-Gmwz13hoyoOVbW3KQrhb6Rsq651h70OloS1Fdn1gJg1kFIxvSYFK7-gBErYhb8z-IBU3Wb71FOKQ_mtko1iG8JU022gNZYEcuOimmJ9EL_gLV7fQF99THwWUkK_0f1PADHN0_CoyfpRD19uFQboed_bRJzuKfZ1JZEDMKxNYvuOtn2rguwkey94R7_tgtn2PLGZuWwiSDI4xeZT197xpmXiDyy4AKWHPp8L2OM5AYNx-mWdEAcaIXfZDI-1X25t22j_-wQU7oDSOp7FVRnjskHJaqVAo6ZhhcLSvGGlbY1fPnePjt2LMC_DLCXYVA2kT20peJFEw730tfSTPqUwQTsnoXgEVLE0I6ywyn4VKEU7BygZAcUzlmBCrJ9pKzubVgU7Qy-o0clBTceoQRycgUALByJzWsaqOGPFmcYPRg5K7qKUdRgB2c8fXHz2c0o7Sl92bd_CncwPA9eyd8TlSwH0ozk5gNwc5uVz9VjZ0xGbKslnR-gnkW6xFbv517WXsVygfh811x9ZyxqUNi7Uz51wuR74n6lpT_KppjYLZ_aGM1ZVRXUUvQKDqtktJ0j-o6xAnObgsH45e8fsFucaqAeohixB_1zu-_9Wv6mopTLadHU9XgRs_dzFKAmjDMrjBG3NXgvyX8z3dRENOToiCo-LQBnMyvQtRPTbivc_02A00mBWOJs-LHcn4F7uQW1ZFxXb2m3dScqDww8R3rlcLCFL0ZFQPJYQi39MQnvSVxdm_lYaOGT-kgLeoJyvdT8ZdT8s8ktWoFP1-tfzPCcbm5sjm9SRTTqrw5wexUaKNv9bvsVtQuvugO8Mbo-bT1Cf0syzLO5xfw_mIyvXPc7i1OgHXiimHt-3tXyPB6LnVlKKvzqz7cySixMgvzT8QjoLpdijfXpc9oPteDE8ad6XUHQNb5_ZY29WBokNfw30_uRt9ZrVZ1C85qD2doUdufh-RiSDBByNZK5GUDR4Ztng3uQMUm_oIOXuTjjL4jjG_bXd_a60YbjH3sO-vDcO0OcYNKAjCad5hqeQHu5cqtb0CWthDwwnXzbg6fv4ZOk334ez_A-fmWsUnj0y50kczGzo5Rh3T2YC81mSREGcRzSdVPOwysOcTQw3AuaXn_z7FzbkkrPzpFNi_vMvAeKM0nyynidRkcYxhQxYjs-ikuW0KiCBWZTQJJtNBCtA6PnwPmTC5wENApoHKU1mSZT4dV4EeVSFKV7wS-RFFFATwreBfamaiepfWE2LrtE4KLg2-jCIOeKBFWCPzzqzlmq-4V8YiLUUG2gnPed5T_gfUvm1KQ">