<div dir="auto">Well, it is not semantically different but having "code" in .td files does make the files readble to me, at least. It distinctly tells me that the value of the field is a C++ code which needs to be grammatically correct. This extra semantics associated with "code" is appealing for readibility. </div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 20, 2020, 10:22 PM Paul C. Anagnostopoulos 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:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">We are seriously considering eliminating the 'code' type from TableGen. The 'code' type is used to represent code sequences, which are specified with the [{ ... }] brackets. The bracket syntax will be retained, but the type distinction will be eliminated.<br>
<br>
A code sequence is stored as a string, but with the type of 'code'. Some string operations, such as the paste operator (#), work on code, too. But other operations, such as !strconcat and !eq, do not. There does not appear to be any reason to maintain the distinction between string and code, except when formatting the value of a field. We will retain the two formats "..." and [{...}] when printing a field value.<br>
<br>
I have checked all the TableGen backends and none appear to make any semantic distinction between strings and code. <br>
<br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>