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

    <tr>
        <th>Summary</th>
        <td>
            [mlir][TOSA] --tosa-infer-shapes crashed with assertion failure "invalid index for shaped type"
        </td>
    </tr>

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

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

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

<pre>
    git version: 8c1270740f6bf659e5fbf556c1145ddaa7aa5366

system: ```Ubuntu 20.04.6 LTS (Focal Fossa)```

reproduced with: ```mlir-opt --tosa-infer-shapes a.mlir```

a.mlir:
```
func.func @func2(%arg0: memref<7x2xi64>, %arg1: index) {
  %c6 = arith.constant 6 : index
  %cst_26 = arith.constant dense<[1185677355, 332462212]> : tensor<2xi32>
  %14 = tensor.empty(%c6) : tensor<?x27xi64>
  %72 = tosa.transpose %14, %cst_26 : (tensor<?x27xi64>, tensor<2xi32>) -> tensor<?x27xi64>
  return
}
```

trace:
```
mlir-opt: /data/bin/llvm-project/build/tools/mlir/include/mlir/IR/BuiltinTypeInterfaces.h.inc:195: int64_t mlir::ShapedType::getDimSize(unsigned int) const: Assertion `idx < getRank() && "invalid index for shaped type"' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: /data/bin/llvm-project/build/bin/mlir-opt --tosa-infer-shapes a.mlir
 #0 0x000055b9cec1cd4f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/data/bin/llvm-project/build/bin/mlir-opt+0x157cd4f)
 #1 0x000055b9cec19de4 SignalHandler(int) Signals.cpp:0:0
 #2 0x00007ffbe6a95420 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x14420)
 #3 0x00007ffbe658000b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4300b)
 #4 0x00007ffbe655f859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x22859)
 #5 0x00007ffbe655f729 (/lib/x86_64-linux-gnu/libc.so.6+0x22729)
 #6 0x00007ffbe6570fd6 (/lib/x86_64-linux-gnu/libc.so.6+0x33fd6)
 #7 0x000055b9d43c3d8a mlir::ShapeAdaptor::getDimSize(int) const (/data/bin/llvm-project/build/bin/mlir-opt+0x6d23d8a)
 #8 0x000055b9d08d9fde mlir::tosa::TransposeOp::inferReturnTypeComponents(mlir::MLIRContext*, std::optional<mlir::Location>, mlir::tosa::TransposeOpAdaptor, llvm::SmallVectorImpl<mlir::ShapedTypeComponents>&) (/data/bin/llvm-project/build/bin/mlir-opt+0x3239fde)
 #9 0x000055b9d08da279 mlir::detail::InferShapedTypeOpInterfaceInterfaceTraits::Model<mlir::tosa::TransposeOp>::inferReturnTypeComponents(mlir::MLIRContext*, std::optional<mlir::Location>, mlir::ValueShapeRange, mlir::DictionaryAttr, mlir::OpaqueProperties, mlir::RegionRange, llvm::SmallVectorImpl<mlir::ShapedTypeComponents>&) (/data/bin/llvm-project/build/bin/mlir-opt+0x323a279)
#10 0x000055b9d09337aa (anonymous namespace)::propagateShapesInRegion(mlir::Region&) TosaInferShapes.cpp:0:0
#11 0x000055b9d093523e (anonymous namespace)::TosaInferShapes::runOnOperation() TosaInferShapes.cpp:0:0
#12 0x000055b9d164fe8e mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/bin/llvm-project/build/bin/mlir-opt+0x3fafe8e)
#13 0x000055b9d165036a mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/bin/llvm-project/build/bin/mlir-opt+0x3fb036a)
#14 0x000055b9d1650d6c mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::'lambda'(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&)::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const Pass.cpp:0:0
#15 0x000055b9d164f4c5 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) (/data/bin/llvm-project/build/bin/mlir-opt+0x3faf4c5)
#16 0x000055b9d164fc2a mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (/data/bin/llvm-project/build/bin/mlir-opt+0x3fafc2a)
#17 0x000055b9d165036a mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (/data/bin/llvm-project/build/bin/mlir-opt+0x3fb036a)
#18 0x000055b9d1650b94 mlir::PassManager::run(mlir::Operation*) (/data/bin/llvm-project/build/bin/mlir-opt+0x3fb0b94)
#19 0x000055b9d164146b performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#20 0x000055b9d1642924 processBuffer(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::MlirOptMainConfig const&, mlir::DialectRegistry&, llvm::ThreadPool*) MlirOptMain.cpp:0:0
#21 0x000055b9d1642ad4 mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::'lambda'(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#22 0x000055b9d1740f84 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) (/data/bin/llvm-project/build/bin/mlir-opt+0x40a0f84)
#23 0x000055b9d163bef7 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (/data/bin/llvm-project/build/bin/mlir-opt+0x3f9bef7)
#24 0x000055b9d1642dfb mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (/data/bin/llvm-project/build/bin/mlir-opt+0x3fa2dfb)
#25 0x000055b9ceb55feb main (/data/bin/llvm-project/build/bin/mlir-opt+0x14b5feb)
#26 0x00007ffbe6561083 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x24083)
#27 0x000055b9cebeda0e _start (/data/bin/llvm-project/build/bin/mlir-opt+0x154da0e)
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVtv2zgW_jXMCxGDJnV9yIPjxNgADRIk2Xk1KPHI5lYiNSTVSfbXL0j5IqlOk06KTmcxReM4IvXxO9-58Ejk1sqNArhA8SWKr85457baXHCl1UujO3u7fDwrtHi52EiHv4CxUivEFjgr5zQlaUSqpKiSOIe4Kqo4Tsr5PIqF4DzlPGZJgsgVIov-075YB42_GyWk___volOuw5TMSDRL8KenR4xottIlr_FKW8sRzQ-Th1gGWqNFV4LAf0i3HYE2tTTnunX4_Nxpy8-lqsCc2y1vwWI-88MnMXdDbPfnZE7VqXLmPzCKiP9NEc0QjbnZEL98A42BCrFl-kyfZRIhdo3oEvcz5n6GVAKeEc0xSi97TOyHywQjdoW5kW47K7WyjiuH_cX9LYO51q3pyfkClAXElii-nM-zOElTFseeAGM0SiidUxRfIXYdYB0oqw1iS_osGfVMj0vMowDfT5lB07qX3tAyCdyHtyO2eqbp3tojRkp7DG35zBmubKst9OA7TQ6GLLzDXwGkyxNMaY7PvR3fJmHAdUbtHJlenfRo_-kML-E1p-9Dqee5EtxxRFeFVIiu6vpLc94a_R8onb_YyVogunJa1xbRVYglupKqrDsBxws3D4iuLjtZO6meXlq4UQ5MxUuws-1MqhKxxTyPe-e7JFo7vI9Ktnj0MSz8Xf3fG3BXsnmU_wVEs06FVBb-Pq9SCA2Ps7AWjJNa-RSR4hkjtsQbcA9cfQ6uzTGiCfLuoFSqL7yWoo88XGmDQ-II7PyqlCKa4orLGsSsl-j-0_Xi8RrbrmikwxwX3QYbaLVx2Gm8da61nixdIbraSLftilmpm51-X8sore3A64e58iyCethtAZeG2y0uePk5uGy3_KPj5WcsuqY9-JDMcPh3b_TG8AZzs-kaUM5-hxf7wfdUkj7gEGUEk2dCCInjIi-hnJciqnAwMvjKvtj-y72RygXaTyH0aHacZPgfa22dAd4Elyz3zgx--hPMEb0kz_M49WR8LT2wnU_Y5gIi_Cg3itf_4krUYBDNdov3l-2sbL3IJPwcgOgOKK2qAhKexxEleL02YJ02sDZux72WBaKr5yxZJ9F5LVX3fL5RXT_Quq0BLmZWz0jPOIooGfFlo2XijBBSYMNlqCtv4ZceOQnIESOkGCFHY-S4yuIc80K_i_kAmdIszkfI8RQ5PXjy3ZgpHWMmY8yUVCL5PkzGKpGMMNNBLIiIlUxkfFp1FoK3TpsTdWdYbj4Wp4mgfukRt2zIjWQirwQMuPm07L897feZu7a_EJL1IewDvmIuddNqFcoAzY4At59uHpZaOXh2iC58xlkn-iHd-qLJa8SWx_mfdMldaILC_vQGk71qdDmoBI8Nr-vfoHTa3DTtGP5Y4Qd8_VLJh6sAo8yLN1I3n6jLaZoPbBLguKz77zdeziO9u_awcR2-PBku3a7K3WoBY9NecdX1X-Kt33jdQbDmgasNjAevZBmwzMvCOTMeu2v57x3cG936PdXvVMPRB9hIrQ6Qv4LPvUsPPveFn4x8njOWcu5XOfT8WPEGbBv2pryn2Brd8g13vWT2RvWGjnyzvxRYP2nLjxFzYuvwTOYTJjFl8BaTCfBu2-zUnbprwfTO7nuad1GgQwrzJKogg1cS4K590nftPbd2VAtNN5bBT9jF5jBqDtwmIwvF6xcr7S1XfAMh2Aqta_972tB9LBIq7m0bRQIbGx8TlvDvNv5etlBLBSMR-qkHm5IfrsbwJr_UjbLOhC7PV9vFtybsCkIY2HG_5waUu1GV3nXNHuHDghdez5Hg0VRwkZTfLfgg0hf2RZWhntCs12mXJYimNW8KwRFNR475cUvctfe3XrE-4fc12N_lPeAz8KcsvOs7PNjpDI-nGR6V8Q_W_OOZGZXxKFCSKemSfn9m_l3KUknHWZL-U5Z-blnKpoIXeTThubf8ZGyNhfsBBIs8GhHMJ-kwj5ICt2AqbZpF6NXsG4_RhzbRbrkBsW6dQWw56M90Z0q43RjErvdiT8Lj695zMFZLc9e6Wy7VUqtKbgYYOR6MnqxRlEzsozmNcGt0CdZedlUVHsbfZV6n5O8dfGXeLTTavOyhBvMFVLyr3VpADQ5ev8e36dfvt3ncTfMaSufbQ-vMy278uM5TePa_D_m0eJdc86lcXAzj9ZPeyJLXD2C72g0WqjoVYmXdv6d97QZEs58n5-tOzQ-PRiWv64KXn9eVGtEe6PQLhsdpt78zZU52Mb-MV2hWa7X5ucJ-g9LbCTN-ykkjUmXDhLFtLd1CiftJxfkrrPsbJuk3Zxw7hR_SLEaEe-cNd0c6eYxjBVTp6UT7fysTH-00ci_VSMtourWIqnhVy13LV25539wtJu98nJFq8wDV2xZ_vIv2REeWxKMX_EUcV1Dghkv1wbOEqPBIo6Um76STOckYXq9rWZRr67hx68G6733zHZGMjVZJxwaB4ARwj__R45HIYx0WWxTaOBAetNQGwuESiCOX_RHhmbhgImc5P4OLeZLHeUJompxtL9KoqiCncVVEc0boXPBCsHmeRZBFWRLzM3lBCWUkpzmJSMSSGWUsJUByUpU8rTKGIgINl_XMWzHTZnMWzsUukjRN2FnNC6htOLKntD9WpCi-OjMXweii21gUkVpaZ48ATro6HPOHG-IrFF8-3T0uUHx18nQrnLbtTtcxP5wgVlzWnYH3nBSedaa--PPnf8HU_wUAAP__iMsCLw">