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

    <tr>
        <th>Summary</th>
        <td>
            [flang] 527.cam: compilation failure after D148487
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            regression,
            mlir:llvm,
            crash
      </td>
    </tr>

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

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

<pre>
    [repro.mlir.gz](https://github.com/llvm/llvm-project/files/11513332/repro.mlir.gz)

To reproduce: `mlir-translate -mlir-to-llvmir repro.mlir -allow-unregistered-dialect`

It fails in 3 different ways from run to run:
```
llvm/lib/IR/Instructions.cpp:2837: void llvm::InsertValueInst::init(llvm::Value*, llvm::Value*, llvm::ArrayRef<unsigned int>, const llvm::Twine&): Assertion `ExtractValueInst::getIndexedType(Agg->getType(), Idxs) == Val->getType() && "Inserted value must match indexed type!"' failed.
```

```
error: loc("/cam_v6_0/obj/msise00.f90":2272:14): unemittable constant value
error: could not emit LLVM-IR

While deleting: double %
Use still stuck around after Def is destroyed:  <badref> = insertvalue [50 x double] Segmentation fault (core dumped)
```

```
llvm/lib/IR/Constants.cpp:1247: static llvm::Constant* llvm::ConstantArray::getImpl(llvm::ArrayType*, llvm::ArrayRef<llvm::Constant*>): Assertion `C->getType() == Ty->getElementType() && "Wrong type in array element initializer"' failed.
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVUGP2zgP_TXMhUggS7bjHHJwkwkwQL9Lv9n2WCgW7aiVpUCSp5P--oXkBDPtZNFdIIggihTJx_csGYIeLNEWqg9Q7Rdyiifnt88_5feT9HpxdOqSzjydvVuNRvvV8BOqPfDmFOM5gGiBH4AfBh1P03HVuRH4wZjn27I8e_eNugj80GtDAfihKKpCCMGBH369lm-A7YG18_-Tw3yspo5AtAg1S47L6KUNRkbC5bx3y5RIe3y9DZfSGPdjOVlPgw6RPKml0tKkSmr2Ns1jxF5qE1BbFKh035MnG_GHvATsvRvRTxajS0vqdg6t2fWXt7d-9RH44fFT-rMh-qmL2tmw6s5nEC1vxDr18ey0whwhWhDtow3k42dpJkpBs1FbHYE3r175HHgLfId_srbey8sn6kHsJpvHq1DbCOIh-XXOhvjG--mHtgS8TuiLFtuQytHOJrwfXqKX3e_FDRQfraIXUk-XMwFv2mFYgngYKF4N6S6-w0f1EoBvEMQexB4_S_PODXPmGoHzGQhS-JzS4TiFiKOM3Qn1nA1jDiuAc-DrPDVSq7sDuWsk751PPRrX5eyJgZ0cvz7XXxnwgzt-A34Ygw7E2KrfsOQhWs7XaSnKK0KTpVHHKI-GZjCljXPNv6Xp3GQUWhcxBeDHj5__t3z89LbALydtCBUZitoOKUa5Kd0LvJo9_gqEIWpjMMSp-47Su8kqlH0kj3vqUQdUFKJ3F1LpAgSxO0rl0_gfEvKoM64zqFB9qBi-XNNAtcf_0zCSjTKPvJeTiQi86ZwnVNN4JvWqyn8B8Xsh7K4I3VRQ8DKrIKSU3Rse3hyBt3esmdOv9BvP5hd55OOZVf8shru5sireM393h6kzi58u16MHQwm5u1z-4p0dMl_TZ0WmGpBmf0za1tLon-TvMbk9uqyCP01hobZCbcRGLmhb1E1Z1hvO1ovTVrC67PojVV0tN6wpC3VUrKpZs2a1ElW_0FvOuGBVsWElq8v1ilNXCFK0kQWru6aDktEotVklxFbODwsdwkTbmjeML4w8kgn5weDc0-ApBO1s7mUHnKfvL4grFa62zstwSrtqv_Db_C4cpyFAyYwOMbwmijqa_Bj1RtohEbTi61Unx1lQ41mbG1W1mTzdlFCUTdmsF5M32__8LuXm0sOU-_s7AAD__7JgKzA">