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

    <tr>
        <th>Summary</th>
        <td>
            Crash in SLPVectorizer::BoUpSLP::getEntryCost()
        </td>
    </tr>

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

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

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

<pre>
    Invocation:
```
./clang -v reduced-final.mm -fslp-vectorize -Os
```

clang version:
```
% ./clang -v
clang version 16.0.0 (https://github.com/llvm/llvm-project 9d96feb19b57526eca19cf6e27e61b8028a4bffc)
Target: x86_64-apple-darwin21.0.0
Thread model: posix
InstalledDir: /Users/davide/work/build-llvm/bin/.
```

Interesting bits in the stack trace:
```
8  clang-14                 0x000000010d623f43 llvm::SmallBitVector::operator[](unsigned int) const + 115
9  clang-14                 0x00000001120e138b llvm::SmallBitVector::test(unsigned int) const + 27
10 clang-14                 0x00000001120fc315 llvm::slpvectorizer::BoUpSLP::getEntryCost(llvm::slpvectorizer::BoUpSLP::TreeEntry const*, llvm::ArrayRef<llvm::Value*>) + 11141
11 clang-14                 0x000000011210211d llvm::slpvectorizer::BoUpSLP::getTreeCost(llvm::ArrayRef<llvm::Value*>) + 733
12 clang-14                 0x000000011211e042 llvm::SLPVectorizerPass::tryToVectorizeList(llvm::ArrayRef<llvm::Value*>, llvm::slpvectorizer::BoUpSLP&, bool) + 1938
13 clang-14                 0x0000000112120274 llvm::SLPVectorizerPass::vectorizeInsertElementInst(llvm::InsertElementInst*, llvm::BasicBlock*, llvm::slpvectorizer::BoUpSLP&) + 484
```

Testcase attached:
[reduced-final.mm.zip](https://github.com/llvm/llvm-project/files/9958001/reduced-final.mm.zip)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVVdtupDgQ_Rp4sUC-cH3gId3JSJEibbSTyevI2EW3N25AtruTzNdvAT2dbCabdBACTJmqc47Lh3bQz811fxiUDGboI3ER0cuIXkQFPZ7zMI34N2VlvyHJgTjQewU66UwvbbrbkaTzdkwOoMLgzC8gyV_-3SzLdclzAOc_KBjxnLwu-s6nhBUpTSmJeLUNYfRTKv4Nz40J232bqmGHA2sPv2_J6IZ_ECSpdV100LK6zcucF6Akq1VXAC-hYG1FeSWztutUxOul7p10GwhYgDxVxc8iS-Q4Wki0dI-m52yCcZy4dSA12Q0a7DR9HLx5WkLXvQ_SWtCXxk0hBPXDIxO8a3kwGvDhcXAPeGv3xurkiLw1PV7TDwS97gM48MGgNq0JnpiehC0QrKceSHBSwf_JXBEya5qwjLw96BNdDkZ1wUWXCTJDwlTi4vsOuaxMuJ8XfXk3jODkNMpXUX6Jy7Lvvdn0oBFQQC2JGlADJL4ijOULgPosAIxTYKJqPwEQUIQPy_JyqcromVU7JVj-qir2-anNj0VXw4_x-83tMsAuueqDe14PM5LzP7xzAPOXC9qIYy-vXxW-cE4-_w1dJNYvL--l3cM0VVxNPBdhWcaOJNl5JBnljOmvkZzg_sHxXIylEEeE_EyEDGjGXy_-ze39CeGt9P64_u75bjgFbsyX8a3PU4EX09R2GOxJ9lpUR07iTE6c8jL7nNMJA_oHuHBlYQd9uO7fcHsn-qaDVtIbtbKDevgj9AnVhWJWZR940B1uPSU9EBnQdbagXxwnX739YaS_zLg4xNeMG4edsTBZZl3nFeqIT-8m_23cMTSsKMqqKlhVxroRuha1jIMJFpq1k347meV_pP98V2P2eO9s82Xwxvv9jD5HQCLeNjTveFkyJnTFJYVOcSFVkVc86zLNRRlb2YL1zeSonPfwSOYU-IzyxabBHsLNQSuaZ4KWqaxE2bW1FFVZ0EKxKKOwk8amE450cJvYNTOkdr_xGLS4Q_xLEHtu8k1oFgOP5T5sB9dopUw8121m3P8Cuctlag">