<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=http://email.email.llvm.org/c/eJylU02P2yAQ_TX4gtaywU7sgw-pVpUipbdV73yMY3YxWICTpr--g52qe-mhqmTBjGbm8R7PSK8fw9sE1DhrHIRIlddA1RoCuGQfVHu1zhhGmiaRaIIwGyeScVcciSmsKhnvIhUBqPOJxnVZfEigCT_RKaUlYkDYV_yuJk2rLJWfMbH29nt7WYJ_B5UwldZL3JqaH7qG11z3Wh9Vx4WsVFN1vFJKSc1r0TcSC9g6WxMyjslzb0G4OPowR0zOu6JSLQth_NLU7QsuHaleSXXa1zOeedRUInWjgOLkrjIAKjNPZcnnBmtGFLW1-AWC2GvRzMaKkHsul-_fIiWHyrib_wAM6H0yaqKTuOGFepeCt3S0_k6liAjlHR6GFWGtkBYihR-g1oybz19tKulZA1Yf1Ow8sd1RYeNGaPExGpyjNyM2oKeDuKNJo0A9yCrAYnOIdNIU_D3TsuYDPou4Z1gJu6UZQ1PCOhwWVOKFogS4loT1hR7QEN6LQqxp8mH4CcH39bEr1mCHf_baxLhCNqrl_MiLaeja7tCPda-qqjlW2fGDGEc5Hng3St7qAu8JbBxI-4UwthnPT8oHwIy0r8X_czADqxirasZZXfO2Lce6a5muexBKtX0nSVPBLIwtM07pw7UIwwYp12vEojUxxT9FgRZdHcBGGRkmkywMzx8Tnxaa_unN7LefbfjbKys2vsNG9hfFdEIc>53373</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Inliner does not support inlining terminating instructions
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir:core
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
zero9178
</td>
</tr>
</table>
<pre>
The inliners code currently documents that terminating instructions are not supported: https://github.com/llvm/llvm-project/blob/413684313d9dd7c83ab0c40830cccbd31a94bd7c/mlir/lib/Transforms/Inliner.cpp#L415-L418
It'd be nice for that restrictions to be lifted for operations similar to LLVMs `invoke` which have control flow based on the callables execution result. Ideally it'd then also be possible via the inliner interface to replace `throw` like operations when being inlined (to a branch eg.)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVUk2PnDAM_TVwiRaRBAY4cJhqVWmk6W3Vez7MkG5IUBJmOv31dWCr7qWHSojYsv38nm3p9XN8m4EYZ42DEInyGojaQgCX7JNor7YFzUjSLBJJEBbjRDLuhiUxhU0l410kIgBxPpG4rasPCXTBz2ROaY1oFOwrfjeT5k1Wyi_oWHv_87yswf8AldCV1kt8GspPfcMp14PWneq5kLVq6p7XSimpORVDIzGAqYs1IeOYXPcWhIuTD0tE53IoqtS6FoxfG9q-4K8v6teiPh__C_bsNJFI3SggWHmoDIDKzIey5HOCNROK2lP8CkEcsWgWY0XIOdfr92-RFKfauLt_BzTIYzZqJrO440C9S8FbMln_IFJEhPIOm2FEWCukhUjgJ6gt4-b-m00VuWjA6JOYgyemOyJs3AmtPkaDdeRuxA70sUF8cUmTQD3IKsBqs4l00hz8I9Oy5h0-i3hkWAnHSjOGJgXrsVgQiQNFCXCrCjaUesSF8EGUySQL48eA8USQ_KfdHygZ7l_XUm7Bjv99HCbGDfJmW847Xs5j0zGp4NRC03es442up6GXA0hKp4HVvMTBgo1j0X4pGNsvhZ-VD4Be0b6WZmQ1YzVlnFHK27aaaN8yTQcQSrUIVTQ1LMLYKjOpfLiVYdxJye0WMWhNTPFvUOBGbg5gb4j4YkuzD-MvCH6gXV_uAsad_W-WoCxK">