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

    <tr>
        <th>Summary</th>
        <td>
            Error in Lowering MLIR scf::ParallelOp 
        </td>
    </tr>

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

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

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

<pre>
    I am trying to lower the following IR but getting the following error. 
IR: 
```
func.func @TEST_func(%in : memref<?xf32>, %out : memref<?xf32>){
   %c0 = arith.constant 0 : index
   %c1 = arith.constant 1 : index
    %dim = memref.dim %in, %c0 : memref<?xf32>
    scf.parallel (%arg0) = (%c0) to (%dim) step (%c1) {
      %2 = memref.load %in[%arg0] : memref<?xf32>
      memref.store %2, %out[%arg0] : memref<?xf32>
    }
 return
}
```

Lowering pass:
```
../../llvm/build/bin/mlir-opt test.mlir  -async-parallel-for -async-to-async-runtime -async-runtime-ref-counting -async-runtime-ref-counting-opt -arith-expand -convert-async-to-llvm -lower-affine -convert-scf-to-cf -convert-memref-to-llvm -convert-vector-to-llvm -convert-func-to-llvm --llvm-request-c-wrappers -reconcile-unrealized-casts | ../../llvm/build/bin/mlir-translate --mlir-to-llvmir | ../../llvm/build/bin/llc -mtriple=x86_64-unknown-linux-gnu -mattr=avx2 --filetype=obj -o a.o
```
Error: 
```
Unknown type!
UNREACHABLE executed at root/llvm/llvm/lib/CodeGen/ValueTypes.cpp:567!
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: ../../llvm/build/bin/llc -mtriple=x86_64-unknown-linux-gnu -mattr=avx2 --filetype=obj -o a.o
1.      Running pass 'Function Pass Manager' on module '<stdin>'.
2.      Running pass 'X86 DAG->DAG Instruction Selection' on function '@async_execute_fn'
 #0 0x00005635872d638f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (../../llvm/build/bin/llc+0x1d3a38f)
 #1 0x00005635872d3d54 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007f7013fa0420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00007f701399400b raise /build/glibc-SzIz7B/glibc-2.31/signal/../sysdeps/unix/sysv/linux/raise.c:51:1
 #4 0x00007f7013973859 abort /build/glibc-SzIz7B/glibc-2.31/stdlib/abort.c:81:7
 #5 0x000056358722779e (../../llvm/build/bin/llc+0x1c8b79e)
 #6 0x00005635867488ce (../../llvm/build/bin/llc+0x11ac8ce)
 #7 0x0000563586748949 llvm::EVT::getEVT(llvm::Type*, bool) (../../llvm/build/bin/llc+0x11ac949)
 #8 0x0000563585b285bb llvm::TargetLoweringBase::getValueType(llvm::DataLayout const&, llvm::Type*, bool) const (../../llvm/build/bin/llc+0x58c5bb)
 #9 0x00005635862738bf llvm::ComputeValueVTs(llvm::TargetLowering const&, llvm::DataLayout const&, llvm::Type*, llvm::SmallVectorImpl<llvm::EVT>&, llvm::SmallVectorImpl<unsigned long>*, unsigned long) (../../llvm/build/bin/llc+0xcd78bf)
#10 0x000056358700b34b llvm::SelectionDAGBuilder::visitTargetIntrinsic(llvm::CallInst const&, unsigned int) (../../llvm/build/bin/llc+0x1a6f34b)
#11 0x0000563586fe9ddd llvm::SelectionDAGBuilder::visitIntrinsicCall(llvm::CallInst const&, unsigned int) (../../llvm/build/bin/llc+0x1a4dddd)
#12 0x0000563586ff4dd7 llvm::SelectionDAGBuilder::visitCall(llvm::CallInst const&) (../../llvm/build/bin/llc+0x1a58dd7)
#13 0x0000563587028436 llvm::SelectionDAGBuilder::visit(llvm::Instruction const&) (../../llvm/build/bin/llc+0x1a8c436)
#14 0x00005635870a8fe0 llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::Instruction, true, false, void>, false, true>, bool&) (../../llvm/build/bin/llc+0x1b0cfe0)
#15 0x00005635870a9d68 llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) (../../llvm/build/bin/llc+0x1b0dd68)
#16 0x00005635870abcef llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) (.part.0) SelectionDAGISel.cpp:0:0
#17 0x0000563585c90f50 (anonymous namespace)::X86DAGToDAGISel::runOnMachineFunction(llvm::MachineFunction&) X86ISelDAGToDAG.cpp:0:0
#18 0x000056358644826e llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.0) MachineFunctionPass.cpp:0:0
#19 0x00005635869c05a5 llvm::FPPassManager::runOnFunction(llvm::Function&) (../../llvm/build/bin/llc+0x14245a5)
#20 0x00005635869c07e9 llvm::FPPassManager::runOnModule(llvm::Module&) (../../llvm/build/bin/llc+0x14247e9)
#21 0x00005635869c1032 llvm::legacy::PassManagerImpl::run(llvm::Module&) (../../llvm/build/bin/llc+0x1425032)
#22 0x0000563585aecc03 compileModule(char**, llvm::LLVMContext&) llc.cpp:0:0
#23 0x0000563585a72572 main (../../llvm/build/bin/llc+0x4d6572)
#24 0x00007f7013975083 __libc_start_main /build/glibc-SzIz7B/glibc-2.31/csu/../csu/libc-start.c:342:3
#25 0x0000563585ae3f9e _start (../../llvm/build/bin/llc+0x547f9e)
Aborted (core dumped)
```
Here is the LLVM IR generated for the same:
[https://gist.github.com/amanchhaparia/c101d381f8d144cee107836159d42177](https://gist.github.com/amanchhaparia/c101d381f8d144cee107836159d42177)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzMmVtv5KjywD-N84LcwuDrQx466WQ2Uua_o0n-o31rYcDd7GDwAZzLfvojsPtCT7KbHs3ROdJM25Rx1Q-qKBeEWCs2ivPLpLhKitUFGd1Wm0vSE0W3WzIQI8hFq9nr5R0gPXDmVagNcBpI_cwNcFsOOi2lfvbiu6-gHR3YcOdCr-ghN0abBUjgKoHLu68JXs73SQnnf6HZjYou_A9Icvh48_C49o0E1QkqhAL-vZ73hncJvk7w7UuHUYJvEnQNElTo0b3fo0mqq8kGAL4zhSDBK0CMcNsF1co6ohyAQYFQjL9EnbO3OmdvdPa9mehD94ljEZoef8ak8F3KvRZLu8VADJGSSzANn5gNTFATNE8SGtpOz00met-2jg-7Dll44WjgEyA6xpOasJmvuNrZKVb_zAh2GqzThge9B0ecqSupVnPDcDcaNQfHTnoSJdPvvQ9CH1wDsTbByze7LhYJug0_Uj71CbptRyGZv3p_3PZSmFQPDjhu3cK3AEiJfVU03U1_2mmzkzk935hROdFzEDdTw7uUat9Qm797FkymIZxS_jIQxUBKtXrixh0seWCQhqWWkq4Tih86Wdr5LrQ7iKb5Pby4kz9x6rT5Ue4X1kEaLqnh_xq5dSlNnw0ZBm4sSA2nWlEheToqw4kUf3GWUmKdBUl1DT4ywc4QZSVxHKTpJJjMCvMRFVJSkPbOiEHyBK9e6nJd5umoviv9rFIp1PiSbtQI0p44ZxK8Ik8vCKRpJyR3r4N_R7d_glQDstBvBsmNz07v5qT_nyyBoAtls_D_vt4sr39bXt3fAP7C6eg4A8QBo7U7DGR3EW2Cbq8145-4H9E3Ikf--Dpwu6DDkOBlUVZ7zV_ub5YPN8CObS8cIKAdN8DwQRvnl_rWuSEEO7pN0O1GuO3YLqjuY5vpYPSfnHoSYe3IbYJugY8yoagcGQ_ZmRpit6Al9LszhPLFZP7BEfodsLEf9ksKLqbl_sXojSE9IGYz9lw5z_FfcF4243wdldotf5Cg6nZU1AmtwBcv-EwU2XCToApoBXrNRulzVJXga-uYUOGjUM2DRu-o_KMuwWr5KU3wzWr5Cdwp68w4GXngkoe72UK3s-5t5DCs4vUcGevO95oTXIIwBPAFQgiLEhd1hViJ6w6E6cPLBC_tq51uvhihXHDIo_dQgupDJ0Oe19o6w0mfoNInXqFcSPeo_mefJOgKvmQME1x3_tu4R8tO0DArcvAgNorI34hi0s9oPVuaxLsYhuH_XhGaFVVdBTPcEZgjCNZrw8PXYm3c9I2a18YcF_t4mB4Mbms4YQurF3AiznMEI14cmWmaHMIWGCKsd_Z-3BspWpo-_HX3V3W1b6IFzhJ0a8ModhNmXy3jg18voxIvk-Ap0KjRN4PqBfVrNkvwMjuQ5DFJheuiAaTVYaQfI3Fsmo3wVjBSeyNHkVPE7kFV1fBzPE7rtmp4NIPlscqyyuuanqUyI7SmscrqVGWTN0fxffPtcbrZcOfvj8P6MSTZpY_nVmt5ZkBnhDZ5E7HUxyxFi-qibY9YHonZcLcrJa6I5Xu0fZaOAFfEkXvy6mvNUAjOi-9vRxA6njGOoqZF20bDaKIpRRWu2-OUca37YXQ8IH97tPGURkN8h_qcYR2EDz2R8lsoMO76QSb4-sTLNz_o-fGVUYVdCANSq014JViJxWfFAWVV3R7ymk9rccqFsMX5cRjss_lq-enK6-RmevAkrHDTDN4pZ4Sygkaze02k9N-FaNr27OfnZFJ2OG8j9ignlx1vGGMfZt9Te9D_LHnOGGMROYrJu5yx6sPkHwE-D7CoGasiQByHBapzXH4YMII7rg1-lq-mOS4jvjzmI3XH4Tt8dw9cHkuviBX0Smr6PeIUUli3Fo4b4nzRe336iHFHxKxJacbXevAWbNT1aLQ-apwZub92RNpw86QFmzfme1noNMn-x3CmPH2uu1pIOw4jdxUn7mpYWX_QXUspDx6LE_i-sP3JuGohY2UdgZYnoC3l3T-CmlH9rj4TuhWK75gi0B-e7UkHYtwiHFecqv6xevR8UQVR0AZ2BfSKiNLqtdejBYr03A5kqjyC9T_qcrX89Kh_BfMfdel17PS9DRmVFmWe16jk4F3NX-ZTipnpTZi_nbk39L3NFdcKDYUFKY64br_4V3f7o_OJPhh1OcoLUhxHHYKnYBVvPgD2OWzeYq_Nop-AqngTQWUnUBnE6AhK8g2hr_N-7IA31S4z4i9CKyBGEVr0-SwIpxRiQHU_CMn3k0K3xISS6aQ2u7__9vlaK8dfdilDSvpmwCAc26lQUSHQE6HO4M9ZWVQx_umOqIA1Buu13_KsrSPGrWcbH9odUTvuQKbb8DDoCVslnCP_ezBfnMwe7hoOJsPn1OJ51R3tmJZ-a8aZV0C14eGghB8VPfHR0W_ccCBsOG7x_gB3X8GGK_-x4wx0ejpDt6Tnh_PL4ur0jMe6RXTQE53P--nIYMZwnXU1y_Kccp7BqsZlVjQsR1lVJcUqQfUv14qaC3aJWYMbcsEvs7LCuEJ10VxsL3GFG4LbpqvzvCtYW2YlRHWRFU2Lcd7QC3GJIMIwy2BW5RVuFjnPOkJpQ3jbVoiyJIe8J0IuvHMW2mwuwkHWZdE0WX0hSculDX-2QEjxZxAeJgglxerCXIYjsHbc2CSHvoiwBy1OOMkvw4EfEArsd0Wf7---Aku73UKfzn5_H8DFaOTlz5-6Bd5_BwAA___riYbL">