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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] spirv-lower-abi-attrs crashes with segmentation faults
        </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/a0138390
Reproduced with: 
`mlir-opt --spirv-lower-abi-attrs temp.mlir`

temp.mlir:
```
spirv.module Logical GLSL450 {
 spirv.SpecConstant @sc1 = 1.500000e+00 : f32
  spirv.SpecConstant @sc2 = 2.500000e+00 : f32 
  spirv.SpecConstantComposite @scc (@sc1, @sc2) : vector<2xf32>
}
```
 
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 --spirv-lower-abi-attrs 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 0x0000000102dc05bc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x0000000102dbf624 llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000102dc0c54 SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001a56894c4 _sigtramp + 56
4  mlir-opt 0x0000000103927344 mlir::spirv::TargetEnv::TargetEnv(mlir::spirv::TargetEnvAttr) + 136
5 mlir-opt                 0x0000000103927344 mlir::spirv::TargetEnv::TargetEnv(mlir::spirv::TargetEnvAttr) + 136
6 mlir-opt                 0x0000000103932a80 (anonymous namespace)::LowerABIAttributesPass::runOnOperation() + 132
7  mlir-opt 0x0000000103fcb4dc mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 420
8  mlir-opt 0x0000000103fcba0c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
9  mlir-opt                 0x0000000103fcfa90 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::$_14::operator()(mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool)::OpPMInfo&) const + 176
10 mlir-opt                 0x0000000103fcf90c 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
11 mlir-opt                 0x0000000103fcc6d4 mlir::detail::OpToOpPassAdaptor::runOnOperationAsyncImpl(bool) + 1396
12 mlir-opt                 0x0000000103fcb60c mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 724
13 mlir-opt 0x0000000103fcba0c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
14 mlir-opt                 0x0000000103fcd388 mlir::PassManager::run(mlir::Operation*) + 1148
15 mlir-opt 0x0000000103fc6840 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
16 mlir-opt                 0x0000000103fc6410 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
17 mlir-opt                 0x000000010403102c 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
18 mlir-opt 0x0000000103fc4838 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
19 mlir-opt                 0x0000000103fc4d2c mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
20 mlir-opt 0x0000000102c630a0 main + 108
21 dyld 0x000000010746d088 start + 516
zsh: segmentation fault  mlir-opt --spirv-lower-abi-attrs temp.mlir
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWdtv6jga_2vCi1Xk2ElIHnigt51KoKL2aKXdF-TYDnjHsbO203OYv35lJ-FSYIYedUbVaqKqCfjzd_l91xhirVgrzqdRehul9yPSuo020zstpW60ca2Fo1Kz7XQxf3oBZSukA8QBqutaOLBxrrERnkXoMUKPa-E2bTmmuo7Qo5Rvw-2mMfo_nLoIPXb7IvRIYIxzXMAI3kdw9sIbo1lLOQPfhdtEeAa6hSiDtRTmRjcO3NzYRpi3G6m_c3NDSnFDnDMWOF43Y08VZT277v_-ezzbcev_wsfAblxr1koO5notKJHgH_PXeZJCEE1uOyrQkb02nN5pZR1RDkQJtDQGEb4H8TiF_uIRuoUQeNUrjPqtF_eisBed3Qsub77TdaOtcLzjQkGE8k6XCN31nCNUBE5vnDptInyHfniF8EOPweT-LBi9VGcI5aeAUa2slhwc4rucP8xeH4BtSx8KBJTtGhjugwY4_fHQENa23EboERDFgFBUtowDt-GAGmI3oCT016DduBP_6gj9FbC2bnbqwjEI19LotSE1IGbd1lw5rwf4QBy94x9iUrcO2G1dagkUqbn10HNlW8PBVrdgQ944CBZ1ROI3boBQfs2A5ezbL0AbYLkLBnH1JoxWXjXwRgyIMjif_3Oxev3X4vZ5_vTvh5eV3xJl0CPZaKECpD5xir2xYG8S_AG7K4aIUZiWNOjiafHMbm33sDRCuWDWt-BllO-JDPm-0tYZTuoIZT6ahHIhlNAtSLNOZHwg8v11pEJZZSg5p8JLq17FWhH5C1FMcmN9APdS4rhPG3TZMpom4IhBhPIDRXGSdCwwAFKUdmsdr1eNJK7Sph6zrRTlAUuSZnmR0ASsrFg7Q-rmyNzkvB64QBOcJGAoLbgrJN3jN2LW3D2ok48o_336mXNmhwTuNUivwvsvVCi7UiGMSA59ihCl1bbWre2ypglxV3Si5j4BZ7dPXpIoW8ftktg-UEyrntVzww1xQqvDKBmK6-SCdypaJowegMG4I0J2z8_NN_3ceDEzRppQH3tpR3gEPdDMp8H-ywNt3q3MFJFbK-yCKLL2MXkHSq2lv7cq9Fd2mE4J6mtuftkEAj9uwlI0XArFj0zpSHeaZZ9u0-EmL-pJWWdC2dXmhOsxQSe5W-h1XxLDlXtSlQa-57jAoU_uAbbiujKEK1qRAn4YxoO4m9mtok91IyOUd9b3oRuhZBUn3bMO1N5YH6RH4H-ewOdmufCoBA8WHTZdPkyG4gyvRqU4Cq5-8nnhtpXu4PuKCElK6V1CpOTyUZsHQjcRvrOOdSSrVTw8fDekWQnH_cTx5wIw87PMUVR9ul9RFmQceNKPv3daOf7D9UH9NUD4Glr8ua4Y8n8YVeP42kinGUs-Wbm-CRVD1qFrdSmznyjpf2FXmqB-dorx313pJ7pSnFwbCQzn-Tvpgz1n_X4MxzAsJ3kvN73krixPIGi48bPvjHoG9g9m_gHL4X5aXeyGGM5WjfPFZc_qVbeG8sXaRPhhgOidU08r6H571aqg38rw6qhoHfemk2w4DKCir0XHNvQvMHCI7SsH2IpmSQwvNsmf0fwUy1aJ_7b8BMsFr7XZ3rZV1QX46UbGK9JKt2Jccscvb8YPPSaXfR5QCyuUSOnfsVeVOjJkIYV5btyCCPUH0fM1LPzMWNpT3AsiOXUvfC2sM9sL-XLd_aDBwW7OkFqtvw6CJzHS9YddDk2uyqEE4hgievRWKoWbKbY0mnJrB-2_SGb8X2Ty71Kcr43Z7nQnv9RIkhwfNqy_K8KnV4TgCRQPniiu7VIJO8qwY8_0gxDdkG7kedd0X50Rav3Cq-vt6mcPBPvZA8HzJ3U0w5BAUBOhuh27DTFgW8kOiSdJxmCeA-uI6V5p0wGH32z4KcDy9W4uAyEKwIdPc3cn2SM2xazABRnxaZxNcJoXBUSjzTRjOaYlxYxmuMrSCWasSNIkxTCeUIzZSEwRRBjGMYYZTCEa8wQjSBFhacryDFVRAnlNhBx7jMfarEfhTHuaFkWOR5KUXNrwOwtCin8HYTFCKErvR2Yazo7Ldm2jBEphnd1zccLJ8ANNMCe9B-ctDsfk3IbT6jOY2VFr5PTnj-WDFf8LAAD___2l8uc">