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

    <tr>
        <th>Summary</th>
        <td>
            [MLIR]-test-diagnostic-filter triggers Assertion Failure `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"'
        </td>
    </tr>

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

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

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

<pre>
    Test on commit: https://github.com/llvm/llvm-project/commit/6548b6354d1d990e1c98736f5e7c3de876bedc8e
steps to reproduce:
```
mlir-opt test.mlir -test-diagnostic-filter
```
test case:
```
module {
 func.func @test_slice(%arg0: tensor<13x21x3xf32>) -> tensor<4x11x1xf32> {
 %0 = tosa.slice %arg0 {size = array<i64: 4, 11, 1>, start = array<i64: 6, 8, 0>} : (tensor<13x21x3xf32>) -> tensor<4x11x1xf32>
    return %0 : tensor<4x11x1xf32>
  }
}
```
crash trace:
```
Test 'mlir-opt: /home/workdir/llvm-project-19/llvm/include/llvm/Support/Casting.h:578: decltype(auto) llvm::cast(From *) [To = mlir::SymbolOpInterface, From = mlir::Operation]: Assertion `isa<To>(Val) && "cast<Ty>() argument of incompatible type!"' failed.
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 /home/workdir/test.mlir -test-diagnostic-filter
 #0 0x000057daf53393b8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (./mlir-opt+0x10723b8)
 #1 0x000057daf5336ede llvm::sys::RunSignalHandlers() (./mlir-opt+0x106fede)
 #2 0x000057daf5339dc8 SignalHandler(int) Signals.cpp:0:0
 #3 0x00007e02c951a520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007e02c956e9fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007e02c951a476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007e02c95007f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007e02c950071b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007e02c9511e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x000057daf79dbe0f decltype(auto) llvm::cast<mlir::SymbolOpInterface, mlir::Operation>(mlir::Operation*) (./mlir-opt+0x3714e0f)
#10 0x000057daf8489a6c (anonymous namespace)::TestDiagnosticFilterPass::runOnOperation() TestDiagnostics.cpp:0:0
#11 0x000057daf85b56df mlir::detail::OpToOpPassAdaptor::run(mlir::Pass*, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int) (./mlir-opt+0x42ee6df)
#12 0x000057daf85b5ec2 mlir::detail::OpToOpPassAdaptor::runPipeline(mlir::OpPassManager&, mlir::Operation*, mlir::AnalysisManager, bool, unsigned int, mlir::PassInstrumentor*, mlir::PassInstrumentation::PipelineParentInfo const*) (./mlir-opt+0x42eeec2)
#13 0x000057daf85b866e mlir::PassManager::run(mlir::Operation*) (./mlir-opt+0x42f166e)
#14 0x000057daf85b1192 performActions(llvm::raw_ostream&, std::shared_ptr<llvm::SourceMgr> const&, mlir::MLIRContext*, mlir::MlirOptMainConfig const&) MlirOptMain.cpp:0:0
#15 0x000057daf85b0dfb llvm::LogicalResult llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>::callback_fn<mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&)::$_0>(long, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&) MlirOptMain.cpp:0:0
#16 0x000057daf865aae5 mlir::splitAndProcessBuffer(std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::function_ref<llvm::LogicalResult (std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, llvm::raw_ostream&)>, llvm::raw_ostream&, llvm::StringRef, llvm::StringRef) (./mlir-opt+0x4393ae5)
#17 0x000057daf85abff2 mlir::MlirOptMain(llvm::raw_ostream&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer>>, mlir::DialectRegistry&, mlir::MlirOptMainConfig const&) (./mlir-opt+0x42e4ff2)
#18 0x000057daf85ac2a3 mlir::MlirOptMain(int, char**, llvm::StringRef, llvm::StringRef, mlir::DialectRegistry&) (./mlir-opt+0x42e52a3)
#19 0x000057daf85ac4b2 mlir::MlirOptMain(int, char**, llvm::StringRef, mlir::DialectRegistry&) (./mlir-opt+0x42e54b2)
#20 0x000057daf53185d7 main (./mlir-opt+0x10515d7)
#21 0x00007e02c9501d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#22 0x00007e02c9501e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#23 0x000057daf5318145 _start (./mlir-opt+0x1051145)
Aborted (core dumped)
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzcWF2P4jrS_jXmxmrk2Pm84IKBQe9I0-pWd-u9RY5TCd4xdtZ2zoH99SuHNBAapofRnl3tjqaBpMpVT33aLu6cbDTADCVfULKc8M5vjJ3tpOO6IZPSVPvZGziPjcbCbLfSIzbHG-9bh9gc0RWiq0b6TVdOhdkiulLqj_evh9aav4HwiK6GpXSVJnFepiyJq6gqCgKRKPKMpXUCmWAV5FlaQiVyQGSJyNx5aB32Bltorak6AUFpT0IpGf73j1sl7YNpPfbg_DQ84Yfw86GSvNHGeSkeaqk82KvLAysW3N2Wb6pOAUbZl8MzrjstpuEDo5iE5WunpABEc0QTbhsS_ORBO2MRW0RsR6Md29WMIvYV0QI_IPb1RI93UbSLBvKZFkQTghFbYm8cn_Ya8CA_cDn5D-jJ3Fq-R2wh0zjojRFd4CjqP3t9C-w8t_4abxqoefgggTVb4vAW0fz3wA_AMcYWfGf1uwnzT_hRthwcf_wxjoCw3G2wt_x2EvSJimj2ngwHQ1YbswVEV38a-6OS9iI5H6LilLVSC9VVcHrx2rWtsSFxF9x5qZvpBrF5kuVBdAVC-X0bYs47b4Jj-mVsjthccOcRzVfWbDGi80BEyZc304cgADywve63pVFP7TftwdbBNrrAh0UjvqcWLPfSaJQsg-65c2DDM0YpkY4jtngzfXTy_-eq10ZTRFOMKO2hsMXb_kAPRG6bbgvaY1NjqYXZttzLUgE-2BMhShHNcM2lgmp68O7z96_z16_YdeVWesxx2TWhLo31oULvbgnSuQ4coivMdYUHz2O_AXyIdMnFjz7ag_pXz8UPXHXb9hh-MsX9v2drGsu3R6sCDjxFdHXsCtey4Bc7BUaUEUx2hBCSZBWvE8YKVuZnsXZ7d_jxbKX2PdC3Pk9pfmKy_M-1cd4C3_ahWWCp_SFQ-TlWRL-QXUQyysoQqhOI6AJEChVcA_HS6VfZaK7-j-tKgXVDzK_rSWsICX-mh14aW4kcjyQimg_YD6_dVLQhKqT_Owpig6AMCBVFEvGEEtyDWSlZIrra5ek6jR-U1N3uodHdgSCmzkzTHl5ME0pG4OKxzBSKWuDWbyzwav1DKnWfgiItajFSkFyCjrMUN663817wcZaOZKdj2YRkNcO8DBV0l2SaZzUbSc4-SI7Ku2VG5UhmfuGJCIr0PpmsgGLsgeI8t7KiKoHUv9BH2eKTjnmtUfbN7hph6MZXyoFlUQykPkIOVTeq_TzOC56KsJhro_db0zms-RZc2yMpDrrCRrQ8tpNV302euRsK1Hb6SZ_B6atzvORKRQUsoxaQJ2WSVvWZ7RV4LtW7uW_mqQ1K5xVvvbFH3SOv9KiCQ6778JIy11ztnXSPXPMmNIIFLo1R4bvT_Umy-llbiylAWo39Sy9tAkHvtulZtqCkhouIB9Yj1PRfbuT5oqDqm3be9juQsR-kjhmGFO0JA_ZnbkH7b7o2WBgdTg838zT4EQQd-ZFd-DFPU7hQ_27Q1Uz4lfqIaR2lKYz0xhd6o6iguAVbG7udiyDQfbIPOl8NW9iGW6jWrQ-nxNOKV9NZAY-NDafOwTUXwXz8_u1lYbSHnf_g-Ecl7VPrH7nUC6Nr2ZzJKPAZ9XrNJRf2kaouz_rTd9NIwdULuE75s_fhahCMX1uoR9aMFyCaH83vtPx7Bx_Mf4StsfsvXV0fcvHIX0HNO-XXFSjwcHsN-zrcAW4HoeiZDv1WqXD0Wtd61HbP_PSr4fzL7TmhW0quQPgXaKTzdv8xP36WAwcWROM1OWwayujm32vJTyLzeYamowxNE84hObPdtUr6ua6erRHg3Dvc_0je_RdWxU85zmmv3krdvEB98_WNpsoKxiEZNdVs3HR4Wdf0ejr_rxXjrf0uruvxfpdfuEhQzm66aNiuxYYfNub5vaH7zL6buBPK2Qh3cYk7Lm-H9h7cvwswLkeOpReX3ShPqgxvudQ3bpBJlFTZSEJ0cRuJquLOix8tqoKMZNJLmRATvF6HZet-trV-h3iPFojHWtil7VGc4PUwO7thfRSfanceLnNQBV5hLPTjCqhOKt7nVZNqxqqCFXwCsyhjUZoSRthkM4tJwVLOckgLkfGc0JIXMSUlzRgRNYiJnFFC4yiKEpLHCWHTNInSmBZxRmlEi0SgmMCWSzUNaTI1tpn0k5ZZFKUsTiaKl6BcP-6ltE8ZSlGynNhZP58pu8ahmCjpvDtJ8NKrfkQczlkoWd4YmGBvZdOAdWfjqRWXqrPwV46pJp1Vs9-fPw2O-WNG_xkAAP__qgTjcA">