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

    <tr>
        <th>Summary</th>
        <td>
            Assertion `I->use_empty() && "trying to erase instruction with users."' failed. 
        </td>
    </tr>

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

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

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

<pre>
    To reproduce run the following test with -passes slp-vectorizer -slp-threshold=-99999
```
; ModuleID = './reduced.ll'
source_filename = "./reduced.ll"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:1-p2:32:8:8:32-ni:2"
target triple = "x86_64-unknown-linux-gnu"

define void @wombat() #0 gc "statepoint-example" {
bb:
  br label %bb2

bb1: ; No predecessors!
  br label %bb2

bb2:                                              ; preds = %bb1, %bb
  %phi = phi ptr addrspace(1) [ null, %bb ], [ null, %bb1 ]
  %phi3 = phi ptr addrspace(1) [ null, %bb ], [ null, %bb1 ]
  br i1 false, label %bb12, label %bb5

bb4:                                              ; No predecessors!
  store double 0.000000e+00, ptr addrspace(1) %getelementptr6, align 8
  ret void

bb5: ; preds = %bb2
  %getelementptr = getelementptr i8, ptr addrspace(1) null, i64 32
  %getelementptr6 = getelementptr i8, ptr addrspace(1) %phi3, i64 872
  br label %bb9

bb7: ; No predecessors!
  br label %bb9

bb8: ; No predecessors!
  br label %bb12

bb9:                                              ; preds = %bb7, %bb5
  %phi10 = phi ptr addrspace(1) [ %getelementptr, %bb5 ], [ null, %bb7 ]
  %phi11 = phi ptr addrspace(1) [ %getelementptr6, %bb5 ], [ null, %bb7 ]
  ret void

bb12: ; preds = %bb8, %bb2
  %phi13 = phi ptr addrspace(1) [ null, %bb8 ], [ %phi3, %bb2 ]
  %phi14 = phi ptr addrspace(1) [ null, %bb8 ], [ %phi, %bb2 ]
  ret void
}
```
Reproducer: https://godbolt.org/z/E1jnMqe1P

Stack dump:
```
opt: /root/llvm-project/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp:3860: llvm::slpvectorizer::BoUpSLP::~BoUpSLP(): Assertion `I->use_empty() && "trying to erase instruction with users."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/opt -o /app/output.s -S -passes slp-vectorizer -slp-threshold=-99999 <source>
 #0 0x0000000004d335a8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4d335a8)
 #1 0x0000000004d30cfc SignalHandler(int) Signals.cpp:0:0
 #2 0x00007a3581c42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #3 0x00007a3581c969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #4 0x00007a3581c42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #5 0x00007a3581c287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #6 0x00007a3581c2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #7 0x00007a3581c39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #8 0x0000000003e3a72f llvm::slpvectorizer::BoUpSLP::~BoUpSLP() (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x3e3a72f)
 #9 0x0000000003ed2107 llvm::SLPVectorizerPass::runImpl(llvm::Function&, llvm::ScalarEvolution*, llvm::TargetTransformInfo*, llvm::TargetLibraryInfo*, llvm::AAResults*, llvm::LoopInfo*, llvm::DominatorTree*, llvm::AssumptionCache*, llvm::DemandedBits*, llvm::OptimizationRemarkEmitter*) (.part.0) SLPVectorizer.cpp:0:0
#10 0x0000000003ed2a43 llvm::SLPVectorizerPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x3ed2a43)
#11 0x0000000002d7d45e llvm::detail::PassModel<llvm::Function, llvm::SLPVectorizerPass, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x2d7d45e)
#12 0x0000000000db7db4 llvm::detail::PassModel<llvm::Function, llvm::PassManager<llvm::Function, llvm::AnalysisManager<llvm::Function>>, llvm::AnalysisManager<llvm::Function>>::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xdb7db4)
#13 0x0000000004b4443e llvm::ModuleToFunctionPassAdaptor::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4b4443e)
#14 0x0000000000d9c43e llvm::detail::PassModel<llvm::Module, llvm::ModuleToFunctionPassAdaptor, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0xd9c43e)
#15 0x0000000004b4234c llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4b4234c)
#16 0x00000000008c9a32 llvm::runPassPipeline(llvm::StringRef, llvm::Module&, llvm::TargetMachine*, llvm::TargetLibraryInfoImpl*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::ToolOutputFile*, llvm::StringRef, llvm::ArrayRef<llvm::PassPlugin>, llvm::ArrayRef<std::function<void (llvm::PassBuilder&)>>, llvm::opt_tool::OutputKind, llvm::opt_tool::VerifierKind, bool, bool, bool, bool, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8c9a32)
#17 0x00000000008bd285 optMain (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8bd285)
#18 0x00007a3581c29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#19 0x00007a3581c29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#20 0x00000000008b402e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8b402e)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWV1T47jS_jXiRuWULX9f5CIQsu_UC2epgTO3lGx3Ei2y5CPJA8zF-e2nJDshMmGHMGzV1qaAWB_9dPfT3ZIsqNZsIwDmKD1H6fKM9mYr1fyOmmcq6FL2ldFnlWye53cSK-iUbPoasOoFNlvAa8m5fGRigw1ogx-Z2eKgo1qDxpp3wXeojVTsBygc2LbZKtBbyRsUL4PSflC4ROECZeH4MzTjc3wtm57DlyVG8RIjks8QWSmw2psZ54jkw1Qte1XD_ZpxELSFcTaZzibDbEPVBgxuqKGcPsve7OZD0KJ4AUFH8hDFi5i4P7YZ-U37lCXuT8D2DxEpULyISBGsi3B8Eq4r24lnSXDrupntDjqyGyjG35gMY2RqrVGs43vPnorsPkuCXjwI-SgCzkT_FGxEv5ca_jawZgLwd8kajJLwUbYVNYgUiJQYkTjEm9qiaUMNdJIJE8ATbTsOiBCM8vMBpapQPAJiXCnMaQUcI5JWlaetqixN2MbtXxJ3ChqoQWupNCLRu-QtE_ikj1VmNemRmdQaQS6Gp51ORNJuy9wM-90ZhWnTKN3RGhApIkdHeo5Fb7NkFMYoXbrGdCByIx50_JdgVwqzCK8p12AnHNAWkUlH6vOYfIjHt4OmjVSAG9lXHHA4C90HEDkPQ2vIcadJugEDHFoQpjMqszMpZxuBix2uAuOS07c-3WXRJLDkgHQP2k3xe1jxpmE7wlmW4PhNzOw00DEPdrhFTo4nfOm7mp9aMBP54lT5aFJx5WdUXL7P39Sviyj8eWFMiX_BerNK8tcVGEWna8pOVXU8XSPyRr4WexQyMfbU9aI4tO8g1QbwI2wkv67gOP6Egnx5dOv-ujsjKEvN1phO2y2ErBBZbWRTSW5mUm0QWf1AZHUZ_SGu_wPRzSGvt4bWD7jp226_-UyUyM444slKSWkQWXH-vQ06Jf-Aete0X6xCZHWnqNBrqVqNyOrb7kCCyOr26mbfVLO6s-riIrP7N3YI8QLFC827l1PM0HUu_93dXt0Mjf_uWm5vtbILrUEZJgVGWfglQPFlr-Ee2s487zfgDJHM7r9GPbvTk8SgqAbMhDaqr520O031GpSe2c2d5HhNGYdmNpBwc3W5uL3Euq9aZjDFVb-xJzSpjIWbMM_Mtq9mtWwP2PE5Y1r3YCnCVDSYiZr3DbhDXq2o3uKK1g9G0Rpmb0YpnKGwvFFyo2iLqdr0ttr0GCkbM7KqZdsxDiqAp45LBcr2cSo2Ad2xpgOjevGAyKpiYhDEgbQQtOtsuzddb2YaB7cnnjUxii-G8yKKL8e0dmeh8CncfZImjlNaHCbAsx4ebhQTxrl9p4aKepmk6OO91EYBbV1wLzATZgh18YvO2732aTTLZtje7mhid1iva3zLNoLy_6Oi4Ra_GM0YuvWY5aH73QORESincVpEdUJSEo6GDyU0njkPzpp2oJ5pOcsG86yIZ1zsY5ZZua5xZ2NCm_sHxvlpCpy8pyCZGp3kGd5o5-epxid55mGnPjYp8nWMaWVL6yRkJ-ghZ6-Qo-pkzKjyMHMfMy6hzE7DdCIeZnGYWzHENCfrDy-Kn1UEox2eoaVvaEOiMD8w1Fvjb6geS1n14kvbca-EV71w6-5YvwcYNeVUXX6XvB_GF_74nXtN228zX8RavjHnilWKquejMxaLr6B7bvSrkSspu6MiS9kyQY1UdwrgNaDWfdtZiy9ovX09voSWigaac3ZE5--dYS37Qa34V2iperhsmTE2WosxorOOKjML3epyZCc9WGPsWhVO40ST-F1xel-MFoLyZ830NRV0Y1Py4ohQfOnkPjEfnRv7fLR-eosyafImSeHAzgYMZXzcT6jW17IBftxaPwdf8fMh9-3P35_XkTaPV3LIa9hUeVMln8Crm_tnvn2U5n9weAbyvejE3lGkSpIkPsz64S7vTu5MsqwvGtoZqY47PAic5O4o8tnOjs543iZ-Lpa17-3Pc3Hn3sU7OfoACW-l0t-H2YE3j9h0kkYkTup3FOsxOv8pLI0seDRlXv4VdUljcmCl6l3y3LAOOBP-e8qtUUxsvsL6WPK98nc4tVzTeutwfnamGY5U01lS8t_dK9uK8SMgvzT8hjsLpeiz7T0MkOOE9xsmXq_PL_O1aYa-9X75vBgu0Q9ptFjnPeONDaU7OR9Z9WVn7o2U40owePH_TDR_NusbKLZmoHbzKjty8venZd-QW17y5X7yVQ0pUiw7c02Z-DS1DtVTW0xenMqmPPEd1Yl4mOUUE5IQ399bsXttqDL37YtT79YCiaeFhBPCkpAAHvA_jy8Lute6u4IxoNwLAjTDXdLwcoziBb798tvt5W_fhukXo2KswPRKgC0AHMXTf82dNfO4KeOSnsE8yqMkSrIoIWfbeb3Oo3W-jus6TJq0IoSGSVE3eVaXcRFnxRmbk5AkYUKyKE0IITMoS6hpGSVhXRcAFCUhtJTxmS2LmVSbM3cbNS9DQpIzd4et3X8oCRHwiN0gIgSlyzM1d_dYVb_RKAk500a_oBhmOMz_8vs4fNYrPv_4jZtz838BAAD__zsBu0A">