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

    <tr>
        <th>Summary</th>
        <td>
            [clang] Assertion failed in LoopVectorize
        </td>
    </tr>

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

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

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

<pre>
    When I compiled this code with O2, it crashed:

```c
long a;
int b;
int c;
long d;
void e() {
  for (int f = 0; f < b; f++)
 d = c > 0 ? a / c : 1;
}
```

Crash is:
```
VPIRBasicBlock can only be used as pre-header or a successor of middle-block at the moment!
clang: /root/llvm-project/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp:8593: void llvm::LoopVectorizationPlanner::buildVPlansWithVPRecipes(llvm::ElementCount, llvm::ElementCount): Assertion `verifyVPlanIsValid(*Plan) && "VPlan is invalid"' failed.
```

Details can be found here: https://godbolt.org/z/7nhzEWb81
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VFuLrDgQ_jXlSzFNTGxbH3zoywgDCzsclp7nmJRtdtOmSWIvM79-SZwzlwN7IKhfpW5f5YsyBHOZiTrYHmB7KuQSJ-c7Jb02FzmXjDXF4PRr9zLRjE-o3PVmLGmMkwmonCb818QJ_-TAj2giKi_DRBrEHtgJ2M9nzdalVmzdfEEJ4rBCM0ccviH1gbKr_oB3ZzQS8AZ4i7B7tyKOziPwJsWOCOKEDMQhfx5zahyBH_Jq30N0dlMI4hEZguhRIvA-W_ZYflSE3ekXEl-ZHRNfNOGT8Hev8_PTj4MMRh2sU_-gkjO62b7iQLgE0igD3jw9TCQ1eXQeJYZFKQrBeXQjXo3Wlh6GHC0jxonw6q40R-DlWkJZOV9Sz8B771wE3lt7vz7cvPub1E-YXmYA3v_l5RxG568BeH8mFZ03bwS8_8O52wfeqNsNxL7ZtiKlzmPPacQexP6rq4zGzc9WzjP5dXdYjNXnZAovJk7n5x-kzI0C8OYzxaOlxOLolkTliP-306by-xDIpzoINbuTN-Nrzv8UztIaneWwT4asCl4DrxE4zz5oApr5vvpx4DscZZLw5jeneqIojQ35uAbC0S2zxok8pWamGG_5vHkPvL84PTgbN85fgPdvwPvdPL09vgxNWehO6Fa0sqCu3PG6bcqqqoqp06VQqpXjTpRCC9mMu1qKVlNbq7YdG1GYjjNesZZztmUVqzZbNrJasFoJ1bBKaqgYXaWxmzS2VLswISzUlazd1mVh5UA25EvN-aoPztP99l2WxrBcAlTMmhDDZ4poos1_gjVie_oy93VmaGb8JpNi8bb7ZSAmTsuwUe76RXnf9Zh7TfJ7b_fe8f8CAAD__0UlXdE">