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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] Convert-pdl-to-pdl-interp Pass violate assertion "must be signed integer" and crashes.
        </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/97a1c98f
Reproduced with: 
`mlir-opt --convert-pdl-to-pdl-interp temp.mlir`

temp.mlir:
``` milr 
spirv.func @func() -> () "None" { 
  %5 = spirv.Constant 0 : ui8  
  spirv.Return

```

The pass assumes the integer should be signed, however, the verifier accepted the input with the `ui8` type and then the pass crashed.
 
trace:
```console  
Assertion failed: (getType().isSignedInteger() && "must be signed integer"), function getSInt, file BuiltinAttributes.cpp, line 354.
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 --convert-pdl-to-pdl-interp 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 0x000000010513117c llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) + 56
1  mlir-opt                 0x00000001051301e4 llvm::sys::RunSignalHandlers() + 112
2  mlir-opt 0x0000000105131814 SignalHandler(int) + 344
3  libsystem_platform.dylib 0x00000001aad414c4 _sigtramp + 56
4  libsystem_pthread.dylib 0x00000001aad29ee0 pthread_kill + 288
5  libsystem_c.dylib 0x00000001aac64340 abort + 168
6  libsystem_c.dylib 0x00000001aac63754 err + 0
7  mlir-opt                 0x0000000106ea0448 mlir::IntegerAttr::getUInt() const (.cold.1) + 0
8  mlir-opt 0x00000001067f3cd4 mlir::IntegerAttr::getUInt() const + 0
9  mlir-opt 0x0000000105ee376c mlir::spirv::ConstantOp::getAsmResultNames(llvm::function_ref<void (mlir::Value, llvm::StringRef)>) + 424
10 mlir-opt 0x0000000105df2ccc mlir::detail::OpAsmOpInterfaceInterfaceTraits::Model<mlir::spirv::ConstantOp>::getAsmResultNames(mlir::detail::OpAsmOpInterfaceInterfaceTraits::Concept const*, mlir::Operation*, llvm::function_ref<void (mlir::Value, llvm::StringRef)>) + 72
11 mlir-opt                 0x00000001067e7d54 (anonymous namespace)::SSANameState::numberValuesInOp(mlir::Operation&) + 196
12 mlir-opt                 0x00000001067e78f0 mlir::detail::AsmStateImpl::AsmStateImpl(mlir::Operation*, mlir::OpPrintingFlags const&, llvm::DenseMap<mlir::Operation*, std::__1::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<mlir::Operation*, void>, llvm::detail::DenseMapPair<mlir::Operation*, std::__1::pair<unsigned int, unsigned int>>>*) + 2092
13 mlir-opt                 0x00000001067d0b7c mlir::AsmState::AsmState(mlir::Operation*, mlir::OpPrintingFlags const&, llvm::DenseMap<mlir::Operation*, std::__1::pair<unsigned int, unsigned int>, llvm::DenseMapInfo<mlir::Operation*, void>, llvm::detail::DenseMapPair<mlir::Operation*, std::__1::pair<unsigned int, unsigned int>>>*, mlir::FallbackAsmResourceMap*) + 1052
14 mlir-opt 0x00000001067580d8 performActions(llvm::raw_ostream&, bool, bool, std::__1::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, llvm::function_ref<mlir::LogicalResult (mlir::PassManager&)>, bool, bool) + 772
15 mlir-opt                 0x0000000106757b9c 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
16 mlir-opt                 0x00000001067c3050 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
17 mlir-opt 0x0000000106755fc4 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
18 mlir-opt                 0x00000001067564b8 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&, bool) + 1208
19 mlir-opt 0x0000000104fd3d78 main + 108
20 dyld 0x0000000109e91088 start + 516
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWFlv4zgS_jX0CxFDog5LD35wnAQTIJkESXaA3ReDIssytylSS1Lu8f76BSnJRxJ30rMzi8aiAyO6inV89VXxoNaKWgHMUXaJsqsJ7dxGm_lSS6lbbVxno0ml-W5-f3f7hKtOSIepw0w3jXB441xrUbJA5AaRm1q4TVdNmW4QuZFyO14uWqP_CcwhctOPQ-SmnNGYlcUaRVcoWjxBazTvGHD8VbgNSha4_4DyqJHCXOjW4YsLptUWjLtoubxwOlyEcmBa7KBpp14S5dEwMvw_vE8We439DzdCmsGMbYXZTtedYhilkb8iUiBS4guUXOPhHhHyq1aACMFodjmMxBiRLMMoucK9kqVW1lHlcIR9GJ0o8F60l3gC1xk1eDO7wq_8Onb_ZQO4pdZiam3XgMVuA9iHXIPBdqM7yXEFOKSQI7LEG_0VtmD8rRfdghFrAQZTxqB1wAcFbecC0OER5VEnCo-I27WAqQpSKnwLxpmhdgN8OoQxIGsog7eoMq2sljDGvLAWjBNa4TUVEnjILClqcC-7Fnpgp8I-hwBu-8D2cOeI5B71prPuEOYYPyIEkdJH6vMVbNTgnm-VC--EBHzp6SrUwjkjqs6BnbK29V-lUICTLB1Cery7XjxfY9tVntQUV12NDXj6Y6e_n-TC2g4sIjcBS6GY7DgEOAOSuKLsS4BvMP_sKPuCede0ezyjKYrKR6NrQxtMTd01oJx3An9nObwyELKuO4ftrqm0xIp6ViFSgLKdAbzTHd7QLeAQUi8k_g0GC-W_Gfy4ePkFa4MtuBARqK0wWnn38JYaT6a7u9_uV89_v798uLv9x_XTyg8J7NK41UIFTH0PKA_R4kNY0e9R_xdHWZzE8YwFX7xssrA72988GqFcCOsl8JAUByFDv660dQZoEzi09IzpGXWJs7w3GR-ZfP136kIUQ_qeC0-d8rSl8hequARj97y9xHFMejPkfGRFnOITBYgUR44madqrSDCWorI766BZtZK6tTbNlO-kqI5UUsrTOGUpXllRO0Ob9iTc9ESJ2xig_D0dpASI8CCw-iKkDGpIUfR6smM97B0NLE-TNMK08sUToMiHofnHQ5NZlmIwJgwcGuHsc4nKgUZpWuCx1yeLoZv44u9f1OD-FrpDSJNvVN7DYsq05NN4xH0wW7yfuHy2ThhPv9_MXnF5hhEAySxnR4rDZNHfjnPKQ7s3sbDNE9hOul99BZ_wf2yHKwNrlCy3WnAf50Hzb1R2ENrgfsyzM0LVT7AOZXk9gpGSgYRx9L7XfE0YO_aag6NC9vcP7cI2D61HyKwpg_3Ni6HCDWV0rzlIlCw_DPz6fOz_hfmlVn5m7POEyMLDclD30IKhHsvhy18C8mzoFXH8OabPYMaz1FujSqtdozvb9_E2dMJyMPa88PA8O-qgf6O6pgIT_LK36qE9cfco0nzfxcqxWZJPe1asozNsWNgmOHPbtO-9OePMm4SEzi9UfSNpbce05adAX4GycE_bE1q9Vmod7z-sVnF_01Ivu-zUYaHhBU-efdreM3Wr1vqb5jxD3ow-xmfU9Nh78Rc43v-8kj6_JCpH6iWfTDCPqtlxuY8pfPX0M5n_w2QeQ3pDpfTLy75F6s6wAN0h53GUjTlPz8xwWRHxArdg_EJjEbqc_WCBVWktj69vo7IbaoCvWj9LLo9aYu9ibfw-6zj_h5D8xnOplYPf3Udd-DDoTteCUdlPE6eN-ZFae08VDVuIfGzFr2MYWvO-N2efLJBsVpXHBXLqyB_x_C2WnRL_6uANlvfQaLO77NbrfgP4diCHNe2kW3GQ4Gv23OCBW8dIv855uZ-Q2UC51VqdBHIvhXlo3T0V6gP2_BgR_plcOkhcCSqBuSeohXVmd6ZePncdZnZE0lUUDBVSq_rHQfANR_oaisY1ZP7JGmJJlEUnK2Ep3ELxR6MZWDt6_4NUxv9FJX9T4v3emO-30rNzE0m2ZsdbpZ8d4U_vCP06Lh4zUXx2lsrTqjibmWHFwTbUhBl3cXYb89m4hrUHiYazgLh8lzLpmid8VuCGCjWsVoYBJMJ8J_mxcAllHBUFto4ORw3ZiMOrs9QJnye8TEo6gXmcz9IkTpKMTDZzVhYsL9Y8IjMgkMQJTTIvByXLihkvJ2JOIpJEMYnjLCIJmbKcppwnVRb7pXAJKI2goUJOPTxTbepJOPyb51FcpBNJK5A2HK0TouArDh8RISi7mph5OGOrutqiNJLCOnvQ4oST4Uw-4Jtd4eXZsz7POLwVWlIHmO7PW791bhrOJftTXTuddEbO__gZZ4j0PwEAAP__Rg1fYg">