<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/101213>101213</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Instruction does not dominate all uses! LLVM ERROR: Broken module found, compilation aborted!
</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
[Test.ll.tgz](https://github.com/user-attachments/files/16431764/Test.ll.tgz)
Reproducer : https://godbolt.org/z/GW41a7WP6
Stack dump:
```
Instruction does not dominate all uses!
%2 = shufflevector <2 x ptr addrspace(1)> %0, <2 x ptr addrspace(1)> poison, <2 x i32> <i32 1, i32 0>
%1 = extractelement <2 x ptr addrspace(1)> %2, i32 0
LLVM ERROR: Broken module found, compilation aborted!
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>
1. Running pass "verify" on module "<source>"
#0 0x0000000004eff778 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4eff778)
#1 0x0000000004efceec SignalHandler(int) Signals.cpp:0:0
#2 0x00007c0269e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#3 0x00007c0269e969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
#4 0x00007c0269e42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
#5 0x00007c0269e287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
#6 0x00000000007b3ff7 llvm::json::operator==(llvm::json::Value const&, llvm::json::Value const&) (.cold) JSON.cpp:0:0
#7 0x0000000004e396a8 (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4e396a8)
#8 0x0000000004d360f0 llvm::VerifierPass::run(llvm::Function&, llvm::AnalysisManager<llvm::Function>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4d360f0)
#9 0x00000000008d865e llvm::detail::PassModel<llvm::Module, llvm::VerifierPass, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8d865e)
#10 0x0000000004cf9c90 llvm::PassManager<llvm::Module, llvm::AnalysisManager<llvm::Module>>::run(llvm::Module&, llvm::AnalysisManager<llvm::Module>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x4cf9c90)
#11 0x00000000008e33d2 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+0x8e33d2)
#12 0x00000000008d62fc optMain (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8d62fc)
#13 0x00007c0269e29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#14 0x00007c0269e29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#15 0x00000000008cd75e _start (/opt/compiler-explorer/clang-assertions-trunk/bin/opt+0x8cd75e)
Program terminated with signal: SIGSEGV
Compiler returned: 139
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWEtT47oS_jXKRpWULTl2vMgiEDKXe-EORShmmZKttqNBkVx68Jhff0pyAjEDdeAMq5PKjB_q_rr7626lBbNWtApgjqYnaLocMe-22sxvmHtiii21r5wdVZo_zW80NtAZzX0N2HiF3RZwo6XUD0K12IF1-EG4LR53zFqw2MpufA-100b8AoPH4dltDditlhzR5bgMH5QsUbJA05MbsG4i5cS1v9B0ichs61xnEV0gskJk1Qq39dWk1jtEVt6CGTPnWL3dgXIWkVUjJIRrmmc0LfIMkdUxIjkYiv9fHwIxGNEFfmVJ80pLN9GmRWT1C5HVtx9ZyoofV_kxxtqx-g5zv-uCZr-QJ_tvfDxX1hlfO6EV5hosVtphrndCMQeYSYm9DT6nvTjGiEwJRnSJ7dY3jYSePYzoKcGPuHMGM86N7VgNiMzSEBQ9C1oJIqd_J9ZpYbU6EhSURHV6KijBaVgJNwmiZ0cOpdEheHSG1Q4kBL4_4BF5gYtYFxe3l_js-vr7dSD8xOg7UHinuZehiLziQb7Wu05IFgljlTYO-DM7Vxdni_UZtr7aCYcZrnwb6lEbh51-ncHjWpHy_nAZd0b_hNohshLW-lgvmCmOhaql5xBLujbMbnHF6rsQMkzezXYyQUl5ZXRr2A4z0_q-FOkCI7LSXbDSBwRmDI-d1AZMeCeZasehRUwI1I6d8eoOkVUlVK-IxzpAsK4Lz9513k0sHq8_2VkhS1Z7U8NzRtPg8rVXKnRsAMOIkHswonlChGD9nBJEyECbkH1JIEITnDwmh08GTVMUMxxZpgtEF_bJ9jdXRigXebsxfX28CBn2sNHWGWA7RPJYK8ohUmJEZn_IHiInyePeree2D36nr_yuAWq8Fq1i8j9McRnwZ3s3-td2Unch30n89wxE9kBFnZC8hIxMSbJ3XIoKkdXjLN_k2VgK5R_HrfL9Qj2xepL37gWVgXN0iFnmZVPjLiSV8c2dkPJzBqL-wED22umsyHFrY5yfdT4r8gH2dIhNZkVD-wb-HHJUHCDnxzlLioo2TXFUaz_DjhbvdAeGOW0QXYbvca29CN0y6QHXWlm3r7qPSMWinNShtUiJ_7v-_v-3y6IY1hctczb7unqOcANuZgN7nOZJkxwFdBvaWoC5YnbfkMarATErr-KP029cLBSTT1bYS6ZYCwbR0zeUwq6Qf2XL9hEMQiwH6Z_xWT6FIz85OCbkfrdh1l5qDnLg7WXczobRDYj5cNx7JHoWv2_RebD1CTJfQL-Uyp6ol5mH0HS4addNWZfHxRLZe9_BfyVLexYGNKXDggNKOTny0ngVmLoSHUihhj9pa2eEaq-hGQb2Trw3zLTgLlm9jTiLt1YvRGWYeTpXjT7fdfJ3Ka3l9zgerIR8A-SPlt8JZ2EMewpvjxMUOZG-Ff2u8I68dbx_1zxvIaf3WnA8oDFgnXgheUhl3g-Uv6Hqzm2c1vvW76P4n-iHyPekDm1_kKvCyqevX9ejsbYGxUde7XY5aWqsO3fJhPq6rSGgDsy-Gj1IyctPjjNRZYCZvcaELMGbTVDbWMeM2-xegvqwFciGVqZDwmpeTAH3-F_GVwR9tnoY9x2Y_hjH-zNvP0eF2X99_m199u22Fz_dG8YGnDcKQgPglJZvHhdHfE55SUs2gnlaEEJzkpF0tJ0zyEqS8obPZgmDclo2WVGWZcLZDCpa05GYk4RkSUGTdJYkJJ0k1XRaZUVByyxheUNRlsCOCTkJzREOtqN4_pmnSUpSOpKsAmnjnwAIUfCA42oY-qfLkZnHo1PlW4uyRArr7AuME07C_MMHXfwHx8CRN3L-z895-1Dv5-SvAAAA__8mmyim">