<html><body><div style="font-size: 12pt; font-family: arial, helvetica, sans-serif; color: rgb(0, 0, 0);"><div>>   Would a patch to fix the tail merging
<div>> issue be of interest?  As composed now I have it not allowing merging</div>
<div>? where a pre- or post-symbol differs but I can also imagine enhancements</div>
<div>> to update uses of the symbol.</div>
</div>
<div>Indeed having the symbol uses updated would be appreciated. In our downstream side I've also did preventing tail duplication, but that did have very negative effect in multiple scores.</div>
<div>
<div id="signature-content-c4fa0f84-565f-4fd6-8c3a-78234d07f65d" data-marker="__SIG_PRE__">
<div>
<div> </div>
<div style="font-size: 9pt; font-family: 'arial' , 'helvetica' , sans-serif;"><span style="color: #4d4d4d; font-size: 9pt;"><strong>Diogo Sampaio</strong></span><br><span style="color: #11588f; font-size: 9pt;"><strong>Senior Compiler Engineer • Kalray</strong></span><br><span style="color: #4d4d4d; font-size: 8pt;">Phone: </span><br><span style="color: #11588f; font-size: 8pt;"><u>dsampaio@kalrayinc.com</u> • <a style="color: #11588f;" href="https://www.kalrayinc.com" target="_blank" rel="nofollow noopener noreferrer"><u>www.kalrayinc.com</u></a></span></div>
<br>
<table cellpadding="0px" border="0px">
<tbody>
<tr>
<td>
<div><a href="https://www.kalrayinc.com" target="_blank" rel="nofollow noopener noreferrer"> <img src="https://www.kalrayinc.com/IMG/png/signature_logo_kalray.png" alt="Kalray logo"></a></div>
</td>
<td>
<div style="padding-left: 10px; border-left: 1px solid #58585a;"><span style="color: #58585a; font-size: 8pt; font-family: 'arial' , 'helvetica' , sans-serif; display: block; line-height: 120%;">Intelligent Data Processing<br>From Cloud to Edge</span></div>
</td>
</tr>
</tbody>
</table>
<br><span style="color: #7db621; font-size: 8pt; font-family: 'arial' , 'helvetica' , sans-serif;"><strong> </strong></span><span style="color: #58585a; font-size: 8pt; font-family: 'arial' , 'helvetica' , sans-serif; display: block; line-height: 100%;">.</span></div>
<br><br></div>

<div id="OLK_SRC_BODY_SECTION">
<div id="OLK_SRC_BODY_SECTION">
<blockquote style="margin: 0 0 0 .8em; border-left: 1px #ccc solid; padding-left: 1em;"><hr id="MESSAGE_DATA_MARKER"><strong>From: </strong>Reid <llvm-dev@lists.llvm.org><br><strong>To: </strong>David <dag@obbligato.org><br><strong>Cc: </strong>llvm-dev <llvm-dev@lists.llvm.org><br><strong>Date: </strong>Thursday, 8 July 2021 4:55 AM CEST<br><strong>Subject: </strong>Re: [llvm-dev] Address of instruction in codegen<br><br>
<div dir="ltr">
<div dir="ltr"> </div>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Wed, Jul 7, 2021 at 7:40 PM David Greene <<a href="mailto:dag@obbligato.org" target="_blank" rel="noopener noreferrer">dag@obbligato.org</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid #cccccc; padding-left: 1ex;">Reid Kleckner <<a href="mailto:rnk@google.com" target="_blank" rel="noopener noreferrer">rnk@google.com</a>> writes:<br><br>> A word of caution: depending on where you are in codegen, there are late<br>> passes that can delete or duplicate MachineInstrs (tail duplication comes<br>> to mind). You need to be reasonably confident that the annotated<br>> instruction won't be affected by such passes, or you will get errors from<br>> the assembler about an undefined label or duplicate label definitions.<br><br>I actually ran into that.  :)  Would a patch to fix the tail merging<br>issue be of interest?  As composed now I have it not allowing merging<br>where a pre- or post-symbol differs but I can also imagine enhancements<br>to update uses of the symbol.</blockquote>
<div> </div>
<div>You know, maybe it would be OK. Initially I was going to say, one of the existing applications is debug info to mark heap allocation call sites, and we don't want debug info to affect codegen. However, if such a call site were to be duplicated, we'd end up with assembler errors from MC, so it sort of already doesn't work. Maybe there is a better way to handle this application.</div>
<div> </div>
<div>The other applications are marking setjmp calls for control flow guard and something in speculative load hardening, both security features where powering down control flow optimizations would be fine.</div>
</div>
</div>
</blockquote>
</div>
</div></div></div></body></html>