<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/149730>149730</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[LV] Crash in llvm::VPlanTransforms::buildPlainCFG
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
sjoerdmeijer
</td>
</tr>
</table>
<pre>
See also: https://godbolt.org/z/xaKeMP6zh
This input:
```
bool a;
short b;
void fn1(bool c, short d[][2][2]) {
for (char e = 0; e < (char)b; e++)
for (char f(c); f < 020; f += 2)
a = d[f][f][f] ?: d[e][f][e] - d[e][f + 2][e];
}
```
compiled with: `-std=c++11 -Ofast -floop-interchange -mcpu=grace`
Results in this crash:
```
#0 0x0000000003c90a38 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c90a38)
#1 0x0000000003c8e40c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x3c8e40c)
#2 0x0000000003bde738 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007bd8f5e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
#4 0x000000000589fc68 llvm::VPlanTransforms::buildPlainCFG(llvm::Loop*, llvm::LoopInfo&) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x589fc68)
#5 0x000000000574ceaa llvm::LoopVectorizationPlanner::buildVPlansWithVPRecipes(llvm::ElementCount, llvm::ElementCount) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x574ceaa)
#6 0x000000000574d6a3 llvm::LoopVectorizationPlanner::plan(llvm::ElementCount, unsigned int) (/opt/compiler-explorer/clang-trunk/bin/clang+++0x574d6a3)
```
I haven't created an IR reproducer yet.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVV1v4ygU_TXkBTki4M8HPyTpZne0s5qqrbqPI4yvYzoELMBt2l-_AruTuBqtdqVGjvi43Ms593CBOyePGqBG2Q5lNys--t7Y2j0ZsO0J5BPYVWPa1_oeAHPlDGJb3Hs_OMS2iB4QPRxN2xjl18YeET28IXo48z_hr9v8rUdki8j2oZcOSz2MPvjEKZST-SPbxhiFOWI7RLauN9bjZho8G9niTm8QLeMagegeTyvaCS7KdvSqoRVGRfDEuDMWI1qKnlsMGLEbTBDbxe7-3YBo1cRJRHfxq6Lr0rkLnWBiO9xFb0LJPKC7EJheHDHmca8Ar5uAXTUYsUNIX7DCwhpGOFkYQnRML-YpJai4-ZA9RLbCnAapoMUv0vdhA5STxPkWsRsxUdtscPKt487jpFPGDInUHqzouT4CxslJDCNiN0fLBfyMegduVD4Ih30QUFju-l8KiBFlBJMzef8xURHOSqzU8yl4sK17dVPn1krt7z0XPx7ibrS8LLL85btx3gI_IZoHsaX2UVRaInowg0f0MJO1CZwHZSzYMKe4PibejvoHoodG6ve5d2F35DxjmrVClG2WiEtIifgV4r0Crsfhm76XR80VouWoY820WJmwxWfhiwgu-OgCX9NCwUq8DyLcgTDPYF8nQH9w3aqwTTlna7Fmb7SHs1-LYUBsS-J_is_m-EXTll0GKc0omZko2YQqLvPveZooqcdzctTjZBBrZ9Z5hBxdLoDTa8BZWXUivz4Cj7eK6wfLteuMPc3JbUap2lvFpd4ffl8chq_GDIhuwylYTn7RnYnH43PyPgO90MgWNIpUAOcfIDyC8MbKN-6l0YGWBnvFJzJ1f0vfP97egZADuAW13xScQPu9GYNg1_yWlk8iOFG4EMw_EGxzzv4zwUFx_a9kfhbHJ9buDHKi8OHy-4J7_gwa0cJjYYF7aDHX-MsdtjBY044CLH4Fv161NWsrVvEV1JsiY4TleV6s-roB6LJUdEJAwaqmzAWtNh0jDEjVtC1byZoSmpGCkk3JirRYd90mLyhA05CM8DZFKYETl2od0hLewZV0boR6k1YFIyvFG1AuvrCUanjB0YpouN1Xtg5OSTMeHUqJks67SxgvvYpP89fH8ELEyg4X8v-pqtVoVf3hxZa-H5u1MKdQ0yHW1CSDNU8gglQRokP0MHN4ruk_AQAA__-ZuGo9">