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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Outline-shape-computation crashed with segmentation fault
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </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/cb37cf6161
Reproduced with: 
` mlir-opt --outline-shape-computation temp.mlir`

temp.mlir:
``` 
func.func @func1(%arg0: !shape.value_shape, %arg1: !shape.value_shape) -> !shape.shape {
  %0 = shape.shape_of %arg0 : !shape.value_shape -> !shape.shape
  %1 = shape.shape_of %arg1 : !shape.value_shape -> !shape.shape
  %2 = shape.meet %0, %1 : !shape.shape, !shape.shape -> !shape.shape
  return %2 : !shape.shape
}
func.func @func(%arg0: !shape.value_shape, %arg1: !shape.value_shape) -> !shape.shape {
  %0 = shape.shape_of %arg0 : !shape.value_shape -> !shape.shape
  %1 = shape.with_shape %arg1, %0 : !shape.value_shape, !shape.shape
  %2 = call @func1(%arg0, %1) : (!shape.value_shape, !shape.value_shape) -> !shape.shape
  return %2 : !shape.shape

```
 
trace:
```console  
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 --outline-shape-computation 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 0x0000000100d3b7f4 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x0000000100d3a85c llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000100d3be8c SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001aad414c4 _sigtramp + 56
4  mlir-opt 0x00000001018b117c void llvm::function_ref<void (mlir::Operation*)>::callback_fn<std::__1::enable_if<!llvm::is_one_of<mlir::func::FuncOp, mlir::Operation*, mlir::Region*, mlir::Block*>::value && std::is_same<void, void>::value, void>::type mlir::detail::walk<(mlir::WalkOrder)1, (anonymous namespace)::OutlineShapeComputationPass::runOnOperation()::$_1, mlir::func::FuncOp, void>(mlir::Operation*, (anonymous namespace)::OutlineShapeComputationPass::runOnOperation()::$_1&&)::'lambda'(mlir::Operation*)>(long, mlir::Operation*) + 7228
5  mlir-opt                 0x000000010246fb9c mlir::detail::walk(mlir::Operation*, llvm::function_ref<void (mlir::Operation*)>, mlir::WalkOrder) + 216
6  mlir-opt 0x00000001018ae740 (anonymous namespace)::OutlineShapeComputationPass::runOnOperation() + 296
7 mlir-opt                 0x000000010234abf8 mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 428
8  mlir-opt 0x000000010234b128 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
9  mlir-opt                 0x000000010234caa4 mlir::PassManager::run(mlir::Operation*) + 1148
10 mlir-opt 0x0000000102345e68 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
11 mlir-opt                 0x0000000102345a38 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
12 mlir-opt                 0x00000001023b0fac 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
13 mlir-opt 0x0000000102343e60 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
14 mlir-opt                 0x0000000102344354 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
15 mlir-opt 0x0000000100bde2b8 main + 108
16 dyld 0x00000001059d9088 start + 516

```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWdtvozoa_2ucF6uRsYHAQx7Sm85IrVK1o13tviADhnhrbNY2nZP961c2JCEX2s7sOavR6FQRWLa_2--7-MOlxvBaMrYE0TWIbme0sxullzdKCNUqbTuDZrkqt8vHhy_PMO-4sJBaWKim4RZurG0NICuA7wG-r7nddPm8UA3A90K87V5XrVb_YoUF-L6nc4OcLIoqDuIAoFuAVs-s1arsClbCb9xuAFnBfgHECDaC6yvVWnh1pToruGRXZkNbdlWopu0stVxJaFnTzt1OEKOB1D8P82S1Z9n_BhFVJ4u5e0AQIvcOAE4AjqiukVcEB17c_I2KjmV-DPAN7LcE01tSeAXI3WHRPyFYXPdyoeOAICC3cLSeqWrg7JYus77Ed8QzmOYZ_ChPPOLZMGa97gMKJ0xHAB0Z_o4AzWyn5U7OGa_ebYvbCX_9Qu5ywT8Q7fTtVZ_mfo70mdsKKsSl4B7c50zvuScfCvgYse_0KTxJyoF8SF5NC3aeuIWSRgkGh11PD3erlztoutwVJQrzroaaufIFrfr-IsWN6ZgB-B5SWUIuC9GVDNoNg4WmZgNzWrx6xea9-BdLi1dYdk271xTNAUqftKo1bSDVddcwaZ0S31vLTgT44qg6C822yZWAkjbMOL8xaTrN4FZ1cEPfGPQm9Zv4f5iGXLo1DZ9WX3-DSkPDrLeIyTeulXTqwTeqIYjRw8PfHrOXfzxerx--_PPuOXMkrlhaBVvFpcfU1fD0YC08mIV-R_1fgFBJ8kUVel3cXrIyW9MPnjSX1pv11XsYJ4dNmn7LlLGa0Qbg2AUfl9aHKL6GUdyLDEYiT_-OVaBJVFxS4bmTL7yWVPxGZSmYNj76eylBgHsxeNoylhTwiAHAyUhREoY9CwKh4LnZGsuarBXUVko383IreD5iSWkZBmERwszw2mratEfmhpf1CJI8CBYFfFO8HNno0tzFUaZZBciNXwU42R2CZLVumfaRBvDKO_Kun3d1wkV3VklAbowt--ksC_oBkzQXLOOOK8DBQSI3mZKuFgJycxDja7Mf3XeyWLfOl1NKjFeeWX1p-lqo4tXN7tT1tQj6IInhXltuMkMbNhjuWPj3EdHZrN22bCSqZJZy0Y-_UfHq7R0B-HcqXte6dE5PhwqdUKnktlGd6bOy9XGdDrb2qf7iMv3mkOhP1AzRqDu5liNEkj0pwGEWHANxCdedNdNu_j8oGfvffm4haJOXFODFR9GHE6Fk_V589Fm1wDjpMyL6XAHAYVzlafGea99D7H_LqSNzxiHjbcHBkNzxVHJTtgjRn-K1XoF0UGDxOShJSPMqmYBy3X5V69ZJXZW0tUrvhR-h5NU6TezpSrCSVGwNN49U0tpBdwNzpYR7d9J_uZTj0yHcRUdyGVJMwjzA32_CE2-ZA_nE4W7rXrP4D7dpTOREfZHGat9JKH3G9XhDL7lfGHR_oppJ-0VWCrr2yY6yiuCh60o_mVQkLCgNT6Tv7Lno90vJHATh4K4ATbkrYnECW6bdobnyCWg-aBZ2WO7e56eY2VDNyqy1GpCbA6sX1emCPdbatbQDRCdOdR_BN0pa9rv9qEAciB5UzQsqnpnphIVn2TAOoF3VOLZh6HzQ0FAEwWedFFEyjvVjRX5E83MsO8n_3bEzLB9Zo_T2uquqPsDPCUtW0U7YrGSCWTZN7A7ou2OkT30-1b-M_Ca4Xrf2kXL5QfT8HBb-kbF02HHLqWCFdd2VsXo7kS-fe4_OfXR8gP8cCJ7FSN8-7HMIfzKHclTRcfdgWsHtSpZPWhXMmJ32P0lm_BKZ_O6Oy7Ux3n8WkqmDhLDhIvGvivAnVYTjpjYIP3tKhSQKJz0zNELFhvYtz8mh-2I1l_Uzqz5v19B7YLTrPaLLn_h5yXCewIZy2VPsCWJYbkU53hylZYqSBBpLte1P6x0OJzdXs3JJypSkdMaWQbwgSUIwQbPNMk8XVRrFMS6rEBd5HFVpuShIQsuyoAjjGV9ihAkKgjiICInQnIZJnIY4qhBaMEoYCBFrKBdzB89c6XrmL7KWMUJxOhM0Z8L4a36MJfsG_SLAGES3M73090V5VxsQIsGNNQcullvh_z_g8Y1u4Xry3srfjw1X-NCwet-KQh_4s06L5Y9fx3lD_hsAAP__0QtyUA">