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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Affine-loop-normalize Pass crashed with assertion failure :  (Index < this->size() && "Invalid index!")
        </td>
    </tr>

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

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

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

<pre>
    
MLIR built at commit https://github.com/llvm/llvm-project/commit/a0138390
Reproduced with: 
`mlir-opt --affine-loop-normalize temp.mlir`

temp.mlir:
``` 
func.func @func() {
  %c0 = arith.constant 0 : index
  %c1 = arith.constant 1 : index 
  scf.for %j = %c0 to %c1 step %c1 { 
 affine.for %i = %c0 to %c1 {  
    }
  }
  return
}
```
 
trace:
```console  
Assertion failed: (Index < this->size() && "Invalid index!"), function operator[], file ArrayRef.h, line 441.
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 --affine-loop-normalize 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 0x0000000102e005bc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x0000000102dff624 llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000102e00c54 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                 0x0000000104366550 mlir::normalizeAffineFor(mlir::AffineForOp, bool) (.cold.14) + 0
8 mlir-opt                 0x0000000102e9a250 mlir::normalizeAffineFor(mlir::AffineForOp, bool) + 2840
9  mlir-opt 0x000000010412ee00 mlir::detail::walk(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) + 216
10 mlir-opt                 0x000000010412ee00 mlir::detail::walk(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) + 216
11 mlir-opt 0x0000000102e59c5c (anonymous namespace)::AffineLoopNormalizePass::runOnOperation() + 76
12 mlir-opt 0x000000010400b4dc mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 420
13 mlir-opt 0x000000010400ba0c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
14 mlir-opt                 0x000000010400fa90 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_14::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const + 176
15 mlir-opt                 0x000000010400f90c 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
16 mlir-opt                 0x000000010400c6d4 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) + 1396
17 mlir-opt                 0x000000010400b60c mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 724
18 mlir-opt 0x000000010400ba0c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
19 mlir-opt                 0x000000010400d388 mlir::PassManager::run(mlir::Operation*) + 1148
20 mlir-opt 0x0000000104006840 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
21 mlir-opt                 0x0000000104006410 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
22 mlir-opt                 0x000000010407102c 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
23 mlir-opt 0x0000000104004838 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
24 mlir-opt                 0x0000000104004d2c mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
25 mlir-opt 0x0000000102ca30a0 main + 108
26 dyld 0x0000000107825088 start + 516

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWVtv47gV_jXMCxGDoqjbgx-UGzZA0hjJoEX7YlASZXNDkSpJZcbz6wuKki3H9oxnmi2miw0CW5DO9TvfOaRMagxfScbmILoC0c0F7exa6fm1EkK1StvOoItCVZs5QDcA5Y8P98-w6LiwkFpYqqbhFq6tbQ0Ic4DvAL5bcbvuilmpGoDvhHgbvy5brX5npQX4zusBfEdREKZhhrzxZ9ZqVXUlq-BnbtcgzKF_AGLUCK4vVWvh5SWtay7ZpVCqvZRKN1Twrwxa1rQzJwXiwZz_3N0P8601_z9YrztZztwHBAS5b4BTgDMIkisvACHAUYkgCG8g1dyuZ6WSxlJpobuZQy4r9mUqGxyTDXaycBQ2ZT2rlXZKv_c63pNVgxljWTtaTK5GNY_AqMiPKTrprRcIQXKzjW93qZnttBxQGW9v4RmkBhg1LdkhhC45JdjoKjeGacuVhDXlglV9CXF673MOr6Fdc3MJwlvDv7IRZhwDHEOA8b18o4JXA5w4ABgDnAF8DV1VerOqZZpapT1b-0dcMJhrTTfPrJ6t3S3BJYOEBDMf1OLhNn-5haYrHFkpLLoV1MyR28H1w-TlxnTMAHwHqXSxlqKrGLRrBktNzRoWtHzt0Rrcv1havsKqa9otfGgGULbQaqVpA6ledQ2T1gUBf4Dm74z3LaM6C82mKZSAkjbMOPCZNJ1mcKM6uKZvDPbpeCH-lWnIpXum4SL_9BtUGhpm-2yYfONaSRcafKMaghg9PPz9cfnyz8erp4f7f90-L52K6yOrYKu47PF0fZ3tMoW7lNAX5P8ChBlCUVH2sTjZMDcb4y8Wmkvbp_WppxxOd0Kafl4qYzWjTc-aa8il9Ry6glHsXQYTl-__piFUdR1jciyE506-8JWk4jcqK8G02TL1CgYB9m7w6czKiMA9AwCnk0BDQryJEELBC7MxljXLVlBbK93Mqo3gxcQkjeI0IyWBS8NXVtOm3UuX7Bmxa81odcxGEjCG4CCwfOVC9GZwmno70dROecRCRMuQIEgL1zg9FPGgGn9ftUgiApnWveIwWZLzCkXCOI4iBMcZHubbbsj7FrlTDuDd4-3dp9ZRpFBKeOjTWalENQvIWIkhkPQ8wrCM4g-Jw6FOBt_ZcRqRADOGps4qZikX_vozFa97rp76sciVBDjvJ-CW1OPkXGpWg_D6TfEKfkM1A-GtM7B7_g8qXp905Ug8xB6MjYbOq9__QyrBiWaOsjIqnRcqldw0qjN-sLb9aMqmhX5Qqv3byIgFNcMw0Z18kpPItpMkGX3j4wxAqCBVeQK2p_aTemqdl7yirVsQR2d7iPRheBxPIzxhrKRiY7h5pJKuHEwja69hJ_t9YjWduAQPJA7CkylQ9OMpLHjL3Br-rrhOdBtZ_OE5TZWcq3tprO5XZtfX-bcEvGf_YIh9QTWT9l7WCvYbQE9JP_-3sJHzGgihmmanGug0jBPa5WYjy_umFQCnwxzyYgCTZUD89XZv1XN0D_yPc_jULh4dKn0FM4-NX022_RCdjUq2R64HteIlFc_MdMJO7rutKC2EKwkVgok7pW9puQbhtbGVF1kug_His6btklumQXj9xwKQHwyoD68rjnsfk0q6F7hrJS37YgdS_xog_BpR_LGlGPt_fLUK4nOZXsYV-eDgfNOF2dh1ybmxFPFPjPT_4aqU4GF7HaR_rUo_sypl5zKhCtP0nfcxn6N1f7c_G96nyPAWgdGpcsUpQbBl2r0e5f0W0HzntXDEcvw-nC5mTTWrlq11w2Vn6kV1umSPKw3C2xGid0U9nKAnt6in1qaDbpgSaNy37ucwvOOigds4OLdIMQnQyUXyZyI_xLKT_N8dO8DykTVKb666uvYEP1SsWE07YZcVE8yy08rh7YDJ6Zr3qPVPSipEQcvXZS33EnkUXD-19pFy-R32_BoZfiSXdhI3nApW2me24sbqzYl-Oe97ssAhv88QSq5-HQQPOOLXh20P4TN7KAkQnq4XphXc5rJaaFUyY8bof5HO-FN08jcljs_GePxFDJ98GyVpOF2w_poIHz4R9n9WwWe_4JJqr8P2KzNshMo19Vued4vui9Vcrp5ZfX5ew94Do3HvER3__aekIaIINpRLr7FViGG1EdVUOElxhNIUGkuHH0ijEYd3hyYX1TyssjCjF2wexEkYZTgg6GI9rysUVhWJ0yqNEhomSUSiJMaEIJqyOEgv-BwjHKIgCFFMMEYzluEEJUVAaJCEOMCAINZQLmYOnpnSq4v-uGIeZVlGLgQtmDDjUZ-e90cBRbcygCDBjTU7Ncut6A8Fe0CjG5gfPY5w9PLnHsOhHaR7R0CdZv2p1399CnTRaTH_-bOaPv__BAAA__8fmay6">