<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=http://email.email.llvm.org/c/eJy1VNuOmzAQ_RrzMgIZkxB44GFzWalSpV1t-wPGDMQbgpFtsmq_vmPYpFHUt7aSRTwzZ47PeMapTfOjUr0cOrigddoMkGYJTzjje8afni3i9tt-9sVvh6-Hp2-HJTKaD7Sjylc9Lo7l-4bNpLABj86Dkg5Z9hlhOf9cs9n2RnqQbL1d8TJn6z3LtkvE43nspUdg2U4PHmqWHcB5OykPDbDNJwwAh-kcbFAEJY0hgRbU5NyDPBG3uicGuBjdQMdEwUR5cxP4tg_n4c2a4UeCN0SbbkgHEzsgzH36DNIL5726kCOC9PpOwI0I1J23NRaIIBzezqVwCs7bHcy3EywmtvMqr1kw315LFc457R1hnTwW-R8O-TeERPF0hV8x4cpVuGp87NOfJmn57sx51D3Ch_bH-5mbZ3tRkWYQK5VC7K0eCXo3wvE0nAbzMcQtDXztmjDvEONZ-9jU75QhbYc-VuME45IB8YuA-ILKG6t_YtwbMzowtpNDvK5FmapEjeODyO9HBO3chNAYdAMTGw9HOY44gGw9WrB4NhdNj5ESH8nJRfw3IL0RdUW-iBAMpS9mSt8kaqqsKbNSRnLyR2Or8TTV8j2abF8dvSdCuibxTKujxKlOlDmT0feX6088WvNOIsicVTvarEVRrqJjtZKikKpsU85zKVSTl3mxkoiiwDWn-qNe1ti7ippNvY7-_khdCS7SVIiCcy54kYiyLjAT-XojWtzkkq04nqXuk8CTUCciW82U9dQ5Cvbaefc7KJ3T3YB4Vei172fjNYzF6y5MaCu97AGtNZaULxt6_1BLdcKhCb4vA9VA00T_V07JCw5daMrSJDE0MNI50VxKNdfxC09LhaE>52894</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [PowerPC] fatal error: error in backend: Incomplete scavenging after 2nd pass
        </td>
    </tr>

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

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

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

<pre>
    clang version 13.0.0
FreeBSD 13.0-RELEASE
powerpc64le

Reduced test case:
```
float a[4096];
template <int b> struct d {
  enum { c = 1 << b } ak[c];
  void g();
};
int e;
void h(d<17>, int);
void i() {
  d<2> b;
  d<17> c;
  for (int f = 0; f < 4096; f++)
    a[f] = f;
  b.g();
  for (int f = 0; f < 4096; f++)
    a[f] = f;
  for (int f = 0; f < 4096; f++)
    a[f] = f * 4096;
  h(c, e);
}
```

Compile with:
`clang++13 -cc1 -triple powerpc64le-unknown-freebsd13.0 -emit-obj -target-cpu ppc64le -O2 -vectorize-loops organ-5b291c.cpp`

The issue doesn't happen after removing `-vectorize-loops` or after replacing `-O2` with `-O1`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy1U9uOmzAQ_Rp4GYHAJCQ88LC5rFSp0q52-wO2GYg3Dka2yar9-o5hk6Koj61kGc_MmeMzw1iY5mctNe87uKJ1yvSQF2mWZlF2iLKnZ4u4ez9MvuTt-P349H6cI4P5RDvIcqVxdsz7GzajxAY8Og-SO4yKr0hUZl9rMlttuAcerXerrCqj9SEqdnPE42XQ3CNExV71HkRUHMF5O0oPDUSbLxgA9uMl2CAJShpDAi0Q5DwAPxO3XBIDXI1qoIvYNmLV3U3g-znch3drgp8I3hBtviEdEdsDYZbpE0jNnEt1IYcF6WIh4E4EcuFtjQUiCJe3UykZBafjHqbuBCtiu2lVtyyYutdShVNOuyAU6WOR_-GSf0NIFE83-A0TWi5Dq_HxP_1tkuZ9by6D0gifyp-WMzfN9qwiLyCRMofEWzUQdDHCydife_PZJy0NvHBNmHdI8KJ8YsQHZXDboU_kMMIwZ0DywiC5ovTGql-YaGMGB8Z2vE_WglW5TOUwPIj8cUJQzo0IjUHXR2zj4cSHAXvgrUcLFi_mqugxUuIjObmI_w6kNyJvyBcWgqH02cxpT-OmLpqqqHjslddYU9tfQ8Wv-9D8lnuuAa01lto1H2i0QXB5xr4Jvm-9pKZqpKfoJL9i34X75vtZ38DAnYtHq-uT9ySPms6eaXUkYxQp5ZKh9fX2SQZrPqgkMqceODqs2bZaxae6zDctlliVxUoU27JhK9wUBV8XZVMI0fJYc4HahRpIfKxqlrE8Z2ybZRnLtimrxBYLVq43rMVNyaNVhheudBouTumvxLaeNIixcxTUynn3J0iFqK5HvPHz0Z-MrYfzKPhHPKmtJ6m_AcRWcDA">