<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in BigEncoder.td</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>e8e3693c - Change range operator from deprecated &apos;-&apos; to &apos;...&apos;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td#e8e3693c</link>
        <description>Change range operator from deprecated &apos;-&apos; to &apos;...&apos;

            List of files:
            /llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td</description>
        <pubDate>Fri, 11 Sep 2020 13:49:27 +0000</pubDate>
        <dc:creator>Paul C. Anagnostopoulos &lt;paul@windfall.com&gt;</dc:creator>
    </item>
<item>
        <title>1723364a - Fix compile-time regression caused by rL371928</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td#1723364a</link>
        <description>Fix compile-time regression caused by rL371928Summary:Also fixup rL371928 for cases that occur on our out-of-tree backendThere were still quite a few intermediate APInts and this caused thecompile time of MCCodeEmitter for our target to jump from 16s up to~5m40s. This patch, brings it back down to ~17s by eliminating prettymuch all of them using two new APInt functions (extractBitsAsZExtValue(),insertBits() but with a uint64_t). The exact conditions for eliminatingthem is that the field extracted/inserted must be &lt;=64-bit which isalmost always true.Note: The two new APInt API&apos;s assume that APInt::WordSize is at least64-bit because that means they touch at most 2 APInt words. Theystatically assert that&apos;s true. It seems very unlikely that someoneis patching it to be smaller so this should be fine.Reviewers: jmolloyReviewed By: jmolloySubscribers: hiraditya, dexonsmith, llvm-commitsTags: #llvmDifferential Revision: https://reviews.llvm.org/D67686llvm-svn: 372243

            List of files:
            /llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td</description>
        <pubDate>Wed, 18 Sep 2019 18:14:42 +0000</pubDate>
        <dc:creator>Daniel Sanders &lt;daniel_l_sanders@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>a088b95f - [CodeEmitter] Improve testing for APInt encoding</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td#a088b95f</link>
        <description>[CodeEmitter] Improve testing for APInt encodingI missed Artem&apos;s comment in D67487 before committing.Differential Revision: https://reviews.llvm.org/D67487llvm-svn: 371929

            List of files:
            /llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td</description>
        <pubDate>Sun, 15 Sep 2019 08:44:40 +0000</pubDate>
        <dc:creator>James Molloy &lt;jmolloy@google.com&gt;</dc:creator>
    </item>
<item>
        <title>60aadd19 - [CodeEmitter] Support instruction widths &gt; 64 bits</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td#60aadd19</link>
        <description>[CodeEmitter] Support instruction widths &gt; 64 bitsSome VLIW instruction sets are Very Long Indeed. Using uint64_t constricts the Inst encoding to 64 bits (naturally).This change switches CodeEmitter to a mode that uses APInts when Inst&apos;s bitwidth is &gt; 64 bits (NFC for existing targets).When Inst.BitWidth &gt; 64 the prototype changes to:  void TargetMCCodeEmitter::getBinaryCodeForInstr(const MCInst &amp;MI,                                                  SmallVectorImpl&lt;MCFixup&gt; &amp;Fixups,                                                  APInt &amp;Inst,                                                  APInt &amp;Scratch,                                                  const MCSubtargetInfo &amp;STI);The Inst parameter returns the encoded instruction, the Scratch parameter is used internally for manipulating operands and is exposed so that the underlying storage can be reused between calls to getBinaryCodeForInstr. The goal is to elide any APInt constructions that we can.Similarly the operand encoding prototype changes to:  getMachineOpValue(const MCInst &amp;MI, const MCOperand &amp;MO, APInt &amp;op, SmallVectorImpl&lt;MCFixup&gt; &amp;Fixups, const MCSubtargetInfo &amp;STI);That is, the operand is passed by reference as APInt rather than returned as uint64_t.To reiterate, this APInt mode is enabled only when Inst.BitWidth &gt; 64, so this change is NFC for existing targets.llvm-svn: 371928

            List of files:
            /llvm-project-15.0.7/llvm/test/TableGen/BigEncoder.td</description>
        <pubDate>Sun, 15 Sep 2019 08:35:08 +0000</pubDate>
        <dc:creator>James Molloy &lt;jmolloy@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
