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

    <tr>
        <th>Summary</th>
        <td>
            [mlir] LinalgOps::regionBuilder function should return ParseResult
        </td>
    </tr>

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

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

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

<pre>
    The current signature of regionBuilder functions is 
```
using RegionBuilderFn = llvm::function_ref<void(ImplicitLocOpBuilder &, Block &,
 ArrayRef<NamedAttribute>)>;
```

This makes it impossible to update the caller if anything went wrong (e.g., https://github.com/llvm/llvm-project/issues/132740). I'm curious to know if there are any objections to modifying this signature.

cc: @banach-space @javedabsar 
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykkk9r5DgQxT-NfClibEl2tw8-uJNtCITNEnJfynK1rUSWjP506G-_yEl2hmFuA_6DQFX1fq8ehqBnS9Sz5sSahwJTXJzvF-1x0vGGxeimW_-6EKjkPdkI-T7G5AncBTzN2tlT0mYiD5dkVdTOBtABWDWwtvp6qiEFbWd4-fn-2QITD2DMdWViYGL4rv_X04WJ-6vTE-PHx3UzWun45NTz9j2K8ZbxezgZp96_DqwaYPAeby979d-40jTE6PWYIjHxF-Nd_orTL8pYNbwuOsCK7xRAR9Dr5kLQoyGIDtI2YSSI2QI0hjzoC6C9xSUDfWRLPryzMzB-pHIus6wlxi1kJn5m_DzruKSxVG5l_LzTfv7uNu_eSEXGzzqERIHxcy34QVaMdyU8Mn5Ys-3apZCVvFv3kYfHhTwB5tfewI25x-56dLC6SV9uWVnMTP8vq_wEVYqJAZisRrSolruwoaJ8fsMrTTgG9FBMvZg60WFBfX2Qsutk18hi6cdaNbxpG17LWtZIk8KuxbEbD4RIrSp0zyveVLI-1q3salni1AmuZDseW3HskJisaEVtyoxfOj8XO3hfi1ZwWRgcyYQ9ipyvRnvGeQ6l73e7xjQHJiujQww_OkQdzR7fvaB5gCdt0czPnwsQw-8jCmFxyUzgKSZv4R_0gV4oJBOL5E3_JwvcUa49_y8AAP__p8gYHw">