<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/92309>92309</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Document GlobalISel's combiner guidelines
</td>
</tr>
<tr>
<th>Labels</th>
<td>
documentation,
llvm:globalisel
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
aemerson
</td>
</tr>
</table>
<pre>
@tschuett made a good point that our approach to writing combiners in GlobalISel needs some documentation here: https://github.com/llvm/llvm-project/pull/91922
This issue is to track that initial work on elaborating things like:
* Combiner best practices
* Rationales for what we do
* Artifact vs regular combiner
* Notable exceptions to the above and why they're there
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUUs-SmzwMfxpz0XwZELAsBw75NpNOLz20fQGBFXDX2IwlNs3bdyDbbXrsBTy25qffPxJxY2DuTP2_qU8ZrTrF1BHPnCSGrI_21pkqVxmmlVVhJstAMMZoYYkuKOhECnFNQMuSIg0TaIRrcurCCEOcexc4CbgAn3zsyX_-xh4CsxWQODPYOKwzByV1McDEiU15hEl1EVMeDZ4Nnken09ofhjgbPHv_9vv335LiDx7U4HlZvTd4bosW0eQnkx_v3--TE3AiK4OTjZomGl7vrF1w6sjDNaZXiAHYUx8T7cx1cmEU8O5143PHAoNHeHmXBD2LwpJoUDewPEx83aWQZ4FLTHDdVl03oQ8zx6TuQoPCm0DicfWUPsx6GPsSlXrPwD8HXjbUu4SJgfr4xkDBwnW6bTc3g03i7ZT4jpDZrrRt2VLGXdEU9XOODZbZ1NUXZluhLSq6XJoWsbb5pX5um6enp5Kem8x1mGOV10VdtDXm5QGHPKey6NvGMldFYaqcZ3L-sKVwiGnMdou7Fsu8zTz17GXvFOJf-RpEgy8GcQ-xPI57JZyw317qU5a6Pdd-HcVUuXei8meHOvXcnd4BH_pksJEP-2BcnWXvAku2Jt_9c5V2KbKVaVPzKwAA__9UEwmB">