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

    <tr>
        <th>Summary</th>
        <td>
            [mlir]Test-Affine-Data-Copy Pass triggered Assertion failure "Loop nest not found"
        </td>
    </tr>

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

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

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

<pre>
    MLIR built at commit https://github.com/llvm/llvm-project/commit/034bab4c
Reproduced with:
```shell
mlir-opt --test-affine-data-copy temp.mlir
```

`temp.mlir`:
```milr
module {  // -----
 func.func @do_not_lower_nonf32_to_avx2(%arg0: vector<4x8xi32>) -> vector<8x4xi32> {
    %0 = vector.transpose %arg0, [1, 0] : vector<4x8xi32> to vector<8x4xi32>
    return %0 : vector<8x4xi32>
 }
}
```
 
trace:
```console
Assertion failed: (!depthToLoops.empty() && "Loop nest not found"), function runOnOperation, file TestAffineDataCopy.cpp, line 63.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0.      Program arguments: mlir-opt --test-affine-data-copy temp.mlir
Stack dump without symbol names (ensure you have llvm-symbolizer in your PATH or set the environment var `LLVM_SYMBOLIZER_PATH` to point to it):
0  mlir-opt 0x0000000104db6828 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x0000000104db5890 llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000104db6ec0 SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001a56894c4 _sigtramp + 56
4  libsystem_pthread.dylib 0x00000001a5671ee0 pthread_kill + 288
5  libsystem_c.dylib 0x00000001a55ac340 abort + 168
6  libsystem_c.dylib 0x00000001a55ab754 err + 0
7  mlir-opt                 0x0000000106a9b664 (anonymous namespace)::TestAffineDataCopy::runOnOperation() (.cold.4) + 0
8  mlir-opt                 0x0000000106110090 (anonymous namespace)::TestAffineDataCopy::runOnOperation() + 1808
9  mlir-opt 0x00000001063c667c mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 428
10 mlir-opt                 0x00000001063c6bac mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
11 mlir-opt                 0x00000001063cac30 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_14::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const + 176
12 mlir-opt                 0x00000001063caaac mlir::LogicalResult mlir::failableParallelForEach<std::__1::__wrap_iter<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo*>, mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_14&>(mlir::MLIRContext*, std::__1::__wrap_iter<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo*>, std::__1::__wrap_iter<mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo*>, mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_14&) + 360
13 mlir-opt                 0x00000001063c7874 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) + 1396
14 mlir-opt                 0x00000001063c67ac mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 732
15 mlir-opt 0x00000001063c6bac mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
16 mlir-opt                 0x00000001063c8528 mlir::PassManager::run(mlir::Operation*) + 1148
17 mlir-opt 0x00000001063c18ec performActions(llvm::raw_ostream&, bool, bool, std::__1::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 504
18 mlir-opt                 0x00000001063c14bc mlir::LogicalResult llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool)::$_0>(long, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) + 704
19 mlir-opt                 0x000000010642ca94 mlir::splitAndProcessBuffer(std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, bool, bool) + 656
20 mlir-opt 0x00000001063bf8e4 mlir::MlirOptMain(llvm::raw_ostream&, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, mlir::DialectRegistry&, bool, bool, bool, bool, bool, bool, bool) + 216
21 mlir-opt                 0x00000001063bfdd8 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
22 mlir-opt 0x0000000104c592c8 main + 108
23 dyld 0x00000001099e1088 start + 516
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVtv2zzS_jX0DWGDos4XvnDsBG-BBAmS4AO-vTEoaWRzS5Fakkrj_fULUlJsx3HrFu0iWLxGUSnkcA7PHDikmDF8IwHmKL5C8WrCOrtVer4EAcZyCU8Nt9tJoard_O72yyMuOi4sZhaXqmm4xVtrW4PCBaI3iN5suN12xaxUDaI3QryMj2mr1T-htIje9OsQvSFhVLAiKhFZIbJ4hFarqiuhwt-43TqOfhwlpP9ntiBEP9YIrqeqtXg6tWDslNU1lzCtmGXTUrU7bKFpZ47qHY_hz3FwT5aQU4ENF8P6RlWdAIzSK4x7O_HU_fpZXHeynLn_MIpIpdZS2bVQ30CvpZJ1SNdWrdnLK0U0QzRmeuOE4RcordIoXEav2SsPKQqvEc3xFIXX-7nsNRrmnPRBHnZaxASjcDVQzqxm0rTKAB4l0CVG8VXgngTFK3xGJLbqI2l7SRpsp-UocPEdYpSuBgTfXo5xx_3DalbCKdylkkYJ6EcXxoC2XElcMy6gcpI9fEEFrd0-q1ulWjODprU7P55jRBNEE4wodXNYgrFYKotr1ckKUYpo7sBwfvKMdSfv5X0Lmrk__RQXgJ_B2IWPpxWzbKna3axsWzctuASchLNew4fb68XTNTZd4bKA4aLbYA2t0tZB-tNZwY3pwLjIYrLCXJaiqwDbLeBSM7PFBSu_euAG8U-WlV9x1TXtG5Jkhkj-oNVGswYzvekakNYpgX82X_bMfS6qzmKzawolsGQNGOcJkKbTgHeqw1v2Atib0xPxf4PGXLo5jR8Wz39hpbEB660B-cK1kk41_MI0Rgm5vf2_u_XT_99d3d9--cf149otQQlxMLaKS4-nKxj53lK8N4m8kv4XkKgqkoxmXhdHGy7MzvQvD5pL68169tFHsz2RZt_WylgNrPExtMRc2j6irnCc9CKDA5Hvf8cqxFlOPlLhsZNPfCOZ-IvJSoA2b3F7hYOA9mLoecugJPiIAaLZgaJhFPUsQowFL8zOWGjWrWC2VrqZVTvBiwOWLE6yPCojvDZ8YzVr2iNzoyMmdquBVR_xSAMAggeC9VcuhGdDs6znEx_yKT_gELMyjAhmhUscD0UyLE1-vLRI4wiD1n7hUGTSyxyVsLxIksiFMpNK7hrVmT66Wx8fee-002owxMy74jF4MpuVSlSzaHTKoFN2oU5BQEhOfrNOVzjIyIBp_nF4JWGZJGnp53peFVjGRf9-3z6r-_aBGbOoWOuL_yAO0Wy_xBEgunD5sx88UOfdzEIysTPc3DHJNi6Yl7hQSrhnJ31LUh3mYUQHEwJyGZZhmRTs50164C24Qn9kWk_6pmny2208XOREfZHGal-_lT7hekzQS-4nBt0fmAZpv8haYbepWs9hqBJ0CMkguBRGVobkp2E8CMSF2cnyS9MKRLPe-iGOEY3WQdS_K0_tjM38Pp39CYH37cOdQ8V7MO-x6RMkHas8vRgVdhRct2rDSyYewXTCHoy77oUVwrmECQHiRulrVm5RuDS26knW62B8-aZZu-YWXHv1ZwFY-G5z-Sf9ShMv48CT7vywVNLCqx2C-nOA8Dm0-LOuGPN_7MWD8NJIT7M0-s3K9UkX5mPWRReX9PQXSvp_cZdKw6GPC-KzG-3fu9J3dqXk0kjIYpq9kz7a86Hfj-EYu-5obCrSc-4KMihxC9o10Qt_cDQ_ODyMWI7P0-pitkxDtW6tKy57Vk-q0yXcbbQ7lg8QvXPqaQXdLx8PtmsN9VHROt6bTrLhMIDyoRYd2zCchMhwwAiyS50URMX5TfJXND_FspP8Xx2cYHkHjdK7q66u-wA_XVhBzTph1xUIsHB-cXg9YHLe5x41P1MyIdxJfV3LI0PuBNf3rb1jXP4gej6Hhb8zlvYUK84ElPYRNtxYvTuTL5c9DzY40vcZQsnN50HwJEb6_eEth_LLciiiJcsPt1_TCm4XsnrQqgRjRu0_SWb8T2Tydyk-ro3JeG9CyZmNpKgzOPTj3xXht1eE_uYpGD1x6QG3qKsqO-uZoREqt6xved5tuk9Wc7l5hPpyu4beg453MpR-fOVXxjktM9wwLvsVbwtCXO1EdUic5xCQLMPGsuEaLR5xeLtfn1TzsMrDnE1gHiRpnKZRRqPJdp5CnpCaFAnUVZAWLE4SSMqCRHEQ1YTlEz6nhIaEkjQICQniGaFhVRc1CzKo0jgGFBFoGBczB8xM6c3EX2fPExKn-USwAoTx35colfAN-0lEKYpXEz33N8dFtzEoIoIba_ZcLLfCf5jyyMarZzB22l99TVfMsulStTvswgxbzTcb0FDh408HnYbznwQmnRbzX7-q9-b9JwAA__-lmz7L">