<div dir="ltr">> <span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">do you agree with the changes so far?</span><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">Yes, if GAS is case-insensitive for directives, then requiring them to be lower-case in LLVM is a needless incompatibility.</span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">> </span><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">should the same changes be applied to other targets?</span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">I don't have any experience with targets other than ARM and AArch64 either, but being consistent between targets, and between LLVM and GAS, both seem like positives.</span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">> </span><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">could there be future situations where a target would need case specific directives?</span></div><div>That would imply that there are two directives which differ only in case, but do different things, which I'd prefer we avoid. If we had to do this, for example for GAS compatibility, then we could put in an exception (as GAS would surely also have to do).</div><div><br></div><div>> <span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">Where should this behaviour (whatever it ends up as) be documented?</span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">We don't currently have much (maybe even any) documentation for the LLVM/clang assembler, we mostly just rely on being compatible with GAS. Maybe that's something that we should change, but it's a much bigger issue than this. I don't think there's any point in documenting that we do the same thing as GAS in this one corner case, when GAS compatibility is generally assumed.</span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif"><br></span></div><div><span style="color:rgb(0,0,0);font-family:Calibri,Arial,Helvetica,sans-serif">Oliver</span></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 5 Feb 2020 at 11:05, David Spickett via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi all,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
In response to this issue[0] on Bugzilla, I recently committed changes to make assembly directives case insensitive for generic directives and their aliases[1], ARM[2] and AArch64[3]. (since those are the targets I have knowledge of)</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I realise this was probably a bit too hasty of me, so I'm writing this to gather feedback on how to proceed.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Some concerns were raised that it may be easier to fix projects that aren't using lower case directives. My intent was more to remove our reliance on case in general, which is more an implementation detail than a feature as far as I can tell. Maybe this is
 not a strong enough argument for change.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
No target in llvm uses anything but lower case directives. Some targets supported by GCC/binutils do document mixed case directives, but accept any case.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
So my questions for the list are:</div>
<div>
<ul>
<li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span>do you agree with the changes so far? (happy to revert if not)</span></font></li><li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span style="margin:0px">should the same changes be applied to other targets?</span></font><br>
</span></font></li><li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif"><span>could there be future situations where a target would need case specific directives?<br>
</span></font></li><li><font color="#000000" face="Calibri, Arial, Helvetica, sans-serif">Where should this behaviour (whatever it ends up as) be documented? I found [4] but it's more about extensions than the assembler as such.</font></li></ul>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Thanks,</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
David Spickett.</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
[0] <a href="https://bugs.llvm.org/show_bug.cgi?id=39527" id="gmail-m_3090893213619690084LPlnk948072" target="_blank">https://bugs.llvm.org/show_bug.cgi?id=39527</a></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
[1] <a href="https://reviews.llvm.org/D72686" id="gmail-m_3090893213619690084LPlnk243515" target="_blank">https://reviews.llvm.org/D72686</a></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
[2] <a href="https://reviews.llvm.org/D73469" id="gmail-m_3090893213619690084LPlnk850882" target="_blank">https://reviews.llvm.org/D73469</a></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
[3] <a href="https://reviews.llvm.org/D72923" id="gmail-m_3090893213619690084LPlnk890401" target="_blank">https://reviews.llvm.org/D72923</a></div>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
[4] <a href="https://llvm.org/docs/Extensions.html" id="gmail-m_3090893213619690084LPlnk632110" target="_blank">https://llvm.org/docs/Extensions.html</a></div>
<div id="gmail-m_3090893213619690084LPBorder_GTaHR0cHM6Ly9sbHZtLm9yZy9kb2NzL0V4dGVuc2lvbnMuaHRtbA.." style="width:100%;margin-top:16px;margin-bottom:16px;max-width:800px;min-width:424px">
<table id="gmail-m_3090893213619690084LPContainer844894" style="padding:12px 36px 12px 12px;width:100%;border:1px solid rgb(200,200,200);border-radius:2px">
<tbody>
<tr valign="top" style="border-spacing:0px">
<td style="width:100%">
<div id="gmail-m_3090893213619690084LPTitle844894" style="font-size:21px;font-weight:300;margin-right:8px;font-family:wf_segoe-ui_light,"Segoe UI Light","Segoe WP Light","Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px">
<a id="gmail-m_3090893213619690084LPUrlAnchor844894" href="https://llvm.org/docs/Extensions.html" style="text-decoration:none" target="_blank">LLVM Extensions — LLVM 10 documentation</a></div>
<div id="gmail-m_3090893213619690084LPDescription844894" style="font-size:14px;max-height:100px;color:rgb(102,102,102);font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif;margin-bottom:12px;margin-right:8px;overflow:hidden">
SHT_LLVM_ADDRSIG Section (address-significance table) ¶. This section is used to mark symbols as address-significant, i.e. the address of the symbol is used in a comparison or leaks outside the translation unit.</div>
<div id="gmail-m_3090893213619690084LPMetadata844894" style="font-size:14px;font-weight:400;color:rgb(166,166,166);font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif">
<a href="http://llvm.org" target="_blank">llvm.org</a></div>
</td>
</tr>
</tbody>
</table>
</div>
<br>
<div style="font-family:Calibri,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
</div>
</div>

_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>