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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Lower-host-to-llvm Pass crashes 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/a0138390
Reproduced with: 
` mlir-opt --lower-host-to-llvm temp.mlir`

temp.mlir:
``` 
spirv.module Logical GLSL450 {
    spirv.func @do_nothing() -> () "None" {
      spirv.Return
    } 
    spirv.EntryPoint "GLCompute" @do_nothing
}
 ```
 
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 --lower-host-to-llvm 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 0x00000001045005bc llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x00000001044ff624 llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000104500c54 SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001a56894c4 _sigtramp + 56
4  mlir-opt 0x00000001044f03e8 void llvm::SmallVectorImpl<char>::append<char const*, void>(char const*, char const*) + 172
5  mlir-opt 0x00000001044eeed0 llvm::raw_ostream::write(char const*, unsigned long) + 632
6  mlir-opt                 0x00000001044ea324 llvm::Twine::printOneChild(llvm::raw_ostream&, llvm::Twine::Child, llvm::Twine::NodeKind) const + 56
7  mlir-opt 0x00000001044ea0e0 llvm::Twine::toVector(llvm::SmallVectorImpl<char>&) const + 104
8  mlir-opt                 0x00000001057a15c4 mlir::StringAttr::get(mlir::MLIRContext*, llvm::Twine const&) + 200
9 mlir-opt                 0x0000000105421864 (anonymous namespace)::LowerHostCodeToLLVM::runOnOperation() + 1840
10 mlir-opt 0x000000010570b4dc mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) + 420
11 mlir-opt 0x000000010570ba0c mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) + 320
12 mlir-opt                 0x000000010570d388 mlir::PassManager::run(mlir::Operation*) + 1148
13 mlir-opt 0x0000000105706840 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
14 mlir-opt                 0x0000000105706410 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
15 mlir-opt                 0x000000010577102c 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
16 mlir-opt 0x0000000105704838 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
17 mlir-opt                 0x0000000105704d2c mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
18 mlir-opt 0x00000001043a30a0 main + 108
19 dyld 0x0000000108ebd088 start + 516
zsh: segmentation fault  mlir-opt --lower-host-to-llvm temp.mlir
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWEtv4zgS_jX0hUhAUQ_LBx8cJ5kO1pkYSTDA7sWgpLLMHYrUklQynl-_oCjZ8qvb3ehDY7FGEMtksaq-eovMGF5KgCmK71B8P2KN3Sg9nSshVK20bQwZZarYThG5R2T2vHh6xVnDhcXM4lxVFbd4Y21tUDhD9BHRx5LbTZPd5qpC9FGIj_7rptbq35BbRB_9OUQfGQnCNJwQz_wVaq2KJocCf3K7QeEM-w2UEFwJrm9UbfHNjVCfoG82ytgbq24cb2yhqm8dCUo6Zv7_fj2c7Xj5v463qbn-uK1U0QjAC1XynAn82-JtEcUEo_Gdp8IYY0-5bmSOUUQKtZLKbrgsEU0RneAbFD7g7hlR-ruSgCg9ZNEzeQXbaLlfR-N7fCzoQVq9XSourWP322KuqrqxnueBeA9rfN8x2AHsf3tDaJbDqRFyJY0SgIc2Wy4eZm8P2DSZcy7DWVNiDS4YsFXf72xuTAMG0UfMZIG5zEVTALYbwLlmZoMzlv_Zanfrxb9Zlv-Ji6aqd-qSW2-8pValZhVmumwqkNbpcXVgHDFvQ0w1FpttlSmBJavAOP-BNI0GvFUN3rAPwC0cT8T_Bo25dHsaL2fvX7DS2IBt0YD84FpJpxf-YNr5YbH443n19s_nu5fF078eXlfuiIs8q3DdOtYq7PJgskeK93jIX8R_AhLFhMRZ3uriaMOZ2Rr_sNRc2hbWe-timu6JNPtcKWM1sArRBNE55tL6-LzDceJFBgORx5-hCtF6ndDonAqvjXzjpWTiC5OFAG12WXCHg4B6MfQysjyO8AEDRNOBomEUeRYhxoJnZmssVKtaMLtWurottoJnA5YsTtJJlEd4ZXhpNavqA7jRBT2iNQkhxR-KFwOMbxUT4g_IrdJPVS1QOM83TKPwwW-zugZZdKvYJZNFdOYM7fg4MpqebB0tdHYad3aKL-kHAAXB553bLnxq7srDqcBGtjW-wEK5auUFJmEnMLnW_8DCA_-_f3IJ_rF2QfgiYb7hovhGCJ5l0B28sPu7KuAfXBZO9xbYgUfHFy3GCJDzHK3yTj3Q9bKzneZD0QHpQjK9znjxmAVxHuG-E4WzN6u5LGfWdr9LsIim-33XaOdKWvir9-IRjt7DSe9QSrqKP7lOpYgGaRK5isekkttKNcYXwbotIxMva-FK6hdl7FwV8K5cResc28gX-VKDZpYrOcz4NOoUCchZx8RjkkVFPjBGAZZx4Z9f6nf1Ui-ZMbOC1c5FvbgD-ziCzjD7xYE6RzszycTWcPPMJCtdgZnjTClxkB2DkhPRHkJwEQIj3w9hyWsQLgiHUDzpTrPkp2MaHnKinqSxum2gLgFmXyPwkv1Gp_uSaZD2Sa7VSRELd2ajV6YFKcI0PZLe4znr90Nz9D0mSju54SV3JWlEcA3atYxZ7hiYb9Sp3pb9t7GFJ12tgq4BbpiGYlW7HJ4PyohqdA7PpascgywdGvlr2e0GTKffSsMahfP9oW44fQXTCFeG0vNmaytCW7SOMXR9v69dQXStk5KoS-VzivyI5qe2bCT_TwMntnyGSuntXbNe-wA_PVjAmjXCrgoQYOHyYdeyHw4tfezzya6v50wIN5eu1vIAyLPg-qW2z4zLb0TPr4HwZ8bSnuKeMwG5fYWSG6u3F_Lluu-uzSAarYifl_yQ8qtY8CRG2hwa73IovjKHxgGhw35hasHtTBZLrXIwptf-F8mM_4lM_irF-dqY7F6KkkuNJErDYcP6f0X46RXBT7NB74nxtV0qKg4y7NAz3SDUDvSu4x41XT-Ov8L6elzd7EFJP3uk519DQhYSRnDFuOzeHfoDE1xsRTEkTiErSJpiY5nuXnJ6O_xt2gsxA-VuLsNtFODvuwHZXf2MimlYTMIJG8E0SMZhPAnSOBhtplmax-soSaNwUuQkzjKWjrOIRWsWZDmN8hGfUkJDEgQhScJxGNyu83EQUxqO10kCWRyiiEDFuLh1CtwqXY7aS6BpPJlM6EiwDIRpLxwplfCJ201EKYrvR3ra3rdkTWlQRAQ31uy5WG5Fe1PZwonv8eIUrgtWf7MEpr3jOWOyUaPF9McvsloY_w0AAP__WUJjWg">