<?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 BPFMCCodeEmitter.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>3e0bf1c7 - [CodeGen] Move instruction predicate verification to emitInstruction</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#3e0bf1c7</link>
        <description>[CodeGen] Move instruction predicate verification to emitInstructionD25618 added a method to verify the instruction predicates for anemitted instruction, through verifyInstructionPredicates added into&lt;Target&gt;MCCodeEmitter::encodeInstruction. This is a very useful idea,but the implementation inside MCCodeEmitter made it only fire for objectfiles, not assembly which most of the llvm test suite uses.This patch moves the code into the &lt;Target&gt;_MC::verifyInstructionPredicatesmethod, inside the InstrInfo.  The allows it to be called from otherplaces, such as in this patch where it is called from the&lt;Target&gt;AsmPrinter::emitInstruction methods which should trigger forboth assembly and object files. It can also be called from other placessuch as verifyInstruction, but that is not done here (it tends to catcherrors earlier, but in reality just shows all the mir tests that haveincorrect feature predicates). The interface was also simplifiedslightly, moving computeAvailableFeatures into the function so that itdoes not need to be called externally.The ARM, AMDGPU (but not R600), AVR, Mips and X86 backends all currentlyshow errors in the test-suite, so have been disabled with FIXMEcomments.Recommitted with some fixes for the leftover MCII variables in releasebuilds.Differential Revision: https://reviews.llvm.org/D129506

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Thu, 14 Jul 2022 08:33:28 +0000</pubDate>
        <dc:creator>David Green &lt;david.green@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>95252133 - Revert &quot;Move instruction predicate verification to emitInstruction&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#95252133</link>
        <description>Revert &quot;Move instruction predicate verification to emitInstruction&quot;This reverts commit e2fb8c0f4b940e0285ee36c112469fa75d4b60ff as it doesnot build for Release builds, and some buildbots are giving more warningthan I saw locally. Reverting to fix those issues.

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Wed, 13 Jul 2022 12:28:11 +0000</pubDate>
        <dc:creator>David Green &lt;david.green@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>e2fb8c0f - Move instruction predicate verification to emitInstruction</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#e2fb8c0f</link>
        <description>Move instruction predicate verification to emitInstructionD25618 added a method to verify the instruction predicates for anemitted instruction, through verifyInstructionPredicates added into&lt;Target&gt;MCCodeEmitter::encodeInstruction. This is a very useful idea,but the implementation inside MCCodeEmitter made it only fire for objectfiles, not assembly which most of the llvm test suite uses.This patch moves the code into the &lt;Target&gt;_MC::verifyInstructionPredicatesmethod, inside the InstrInfo.  The allows it to be called from otherplaces, such as in this patch where it is called from the&lt;Target&gt;AsmPrinter::emitInstruction methods which should trigger forboth assembly and object files. It can also be called from other placessuch as verifyInstruction, but that is not done here (it tends to catcherrors earlier, but in reality just shows all the mir tests that haveincorrect feature predicates). The interface was also simplifiedslightly, moving computeAvailableFeatures into the function so that itdoes not need to be called externally.The ARM, AMDGPU (but not R600), AVR, Mips and X86 backends all currentlyshow errors in the test-suite, so have been disabled with FIXMEcomments.Differential Revision: https://reviews.llvm.org/D129506

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Wed, 13 Jul 2022 11:53:32 +0000</pubDate>
        <dc:creator>David Green &lt;david.green@arm.com&gt;</dc:creator>
    </item>
<item>
        <title>2aed07e9 - [NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter`</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#2aed07e9</link>
        <description>[NFC][MC] remove unused argument `MCRegisterInfo` in `MCCodeEmitter`Reviewed By: skanDifferential Revision: https://reviews.llvm.org/D119846

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Wed, 16 Feb 2022 05:09:59 +0000</pubDate>
        <dc:creator>Shao-Ce SUN &lt;shaoce@nj.iscas.ac.cn&gt;</dc:creator>
    </item>
<item>
        <title>286daafd - [BPF] support atomic instructions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#286daafd</link>
        <description>[BPF] support atomic instructionsImplement fetch_&lt;op&gt;/fetch_and_&lt;op&gt;/exchange/compare-and-exchangeinstructions for BPF.  Specially, the following gcc intrinsicsare implemented.  __sync_fetch_and_add (32, 64)  __sync_fetch_and_sub (32, 64)  __sync_fetch_and_and (32, 64)  __sync_fetch_and_or  (32, 64)  __sync_fetch_and_xor (32, 64)  __sync_lock_test_and_set (32, 64)  __sync_val_compare_and_swap (32, 64)For __sync_fetch_and_sub, internally, it is implemented asa negation followed by __sync_fetch_and_add.For __sync_lock_test_and_set, despite its name, it actuallydoes an atomic exchange and return the old content.  https://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Atomic-Builtins.htmlFor intrinsics like __sync_{add,sub}_and_fetch and__sync_bool_compare_and_swap, the compiler is able to generatecodes using __sync_fetch_and_{add,sub} and __sync_val_compare_and_swap.Similar to xadd, atomic xadd, xor and xxor (atomic_&lt;op&gt;)instructions are added for atomic operations which do nothave return values. LLVM will check the return value for__sync_fetch_and_{add,and,or,xor}.If the return value is used, instructions atomic_fetch_&lt;op&gt;will be used. Otherwise, atomic_&lt;op&gt; instructions will be used.All new instructions only support 64bit and 32bit with alu32 mode.old xadd instruction still supports 32bit without alu32 mode.For encoding, please take a look at test atomics_2.ll.Differential Revision: https://reviews.llvm.org/D72184

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Fri, 03 Jan 2020 20:06:08 +0000</pubDate>
        <dc:creator>Yonghong Song &lt;yhs@fb.com&gt;</dc:creator>
    </item>
<item>
        <title>017e5c94 - MCFixup.h - remove unnecessary MCExpr.h include. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#017e5c94</link>
        <description>MCFixup.h - remove unnecessary MCExpr.h include. NFCI.Move the include down to files that actually depend on MCExpr definitions.Also exposes an implicit dependency on MCContext in AVRAsmBackend.h

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Mon, 20 Jul 2020 14:17:04 +0000</pubDate>
        <dc:creator>Simon Pilgrim &lt;llvm-dev@redking.me.uk&gt;</dc:creator>
    </item>
<item>
        <title>e98944ed - Use bitset for assembler predicates</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#e98944ed</link>
        <description>Use bitset for assembler predicatesAMDGPU target run out of Subtarget feature flags hitting the limit of 64.AssemblerPredicates uses at most uint64_t for their representation.At the same time CodeGen has exhausted this a long time ago and switchedto a FeatureBitset with the current limit of 192 bits.This patch completes transition to the bitset for feature bits extendingit to asm matcher and MC code emitter.Differential Revision: https://reviews.llvm.org/D59002llvm-svn: 355839

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Mon, 11 Mar 2019 17:04:35 +0000</pubDate>
        <dc:creator>Stanislav Mekhanoshin &lt;Stanislav.Mekhanoshin@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>2946cd70 - Update the file headers across all of the LLVM projects in the monorepo</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#2946cd70</link>
        <description>Update the file headers across all of the LLVM projects in the monorepoto reflect the new license.We understand that people may be surprised that we&apos;re moving the headerentirely to discuss the new license. We checked this carefully with theFoundation&apos;s lawyer and we believe this is the correct approach.Essentially, all code in the project is now made available by the LLVMproject under our new license, so you will see that the license headersinclude that license only. Some of our contributors have contributedcode under our old license, and accordingly, we have retained a copy ofour old license notice in the top-level files in each project andrepository.llvm-svn: 351636

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Sat, 19 Jan 2019 08:50:56 +0000</pubDate>
        <dc:creator>Chandler Carruth &lt;chandlerc@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e3f65297 - Support: Simplify endian stream interface. NFCI.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#e3f65297</link>
        <description>Support: Simplify endian stream interface. NFCI.Provide some free functions to reduce verbosity of endian-writinga single value, and replace the endianness template parameter witha field.Part of PR37466.Differential Revision: https://reviews.llvm.org/D47032llvm-svn: 332757

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Fri, 18 May 2018 19:46:24 +0000</pubDate>
        <dc:creator>Peter Collingbourne &lt;peter@pcc.me.uk&gt;</dc:creator>
    </item>
<item>
        <title>9a67245d - [bpf] allow direct and indirect calls</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#9a67245d</link>
        <description>[bpf] allow direct and indirect callskernel verifier is becoming smarter and soon will supportdirect and indirect function calls.Remove obsolete error from BPF backend.Make call to use PCRel_4 fixup.&apos;bpf to bpf&apos; calls are distinguished from &apos;bpf to kernel&apos; callsby insn-&gt;src_reg == BPF_PSEUDO_CALL == 1 which is used as relocationindicator similar to ld_imm64-&gt;src_reg == BPF_PSEUDO_MAP_FD == 1The actual &apos;call&apos; instruction remains the same for both&apos;bpf to kernel&apos; and &apos;bpf to bpf&apos; calls.Signed-off-by: Alexei Starovoitov &lt;ast@kernel.org&gt;llvm-svn: 318614

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Sun, 19 Nov 2017 01:35:00 +0000</pubDate>
        <dc:creator>Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>4282c404 - [BPF] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#4282c404</link>
        <description>[BPF] Fix some Clang-tidy modernize and Include What You Use warnings; other minor fixes (NFC).llvm-svn: 291297

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Fri, 06 Jan 2017 23:06:25 +0000</pubDate>
        <dc:creator>Eugene Zelenko &lt;eugene.zelenko@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>c95590bc - Try again to fix unused variable warning on lld-x86_64-darwin13 after r287439.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#c95590bc</link>
        <description>Try again to fix unused variable warning on lld-x86_64-darwin13 after r287439.The previous attempt didn&apos;t work. I assume LLVM_ATTRIBUTE_UNUSED isn&apos;tavailable on that machine.llvm-svn: 287442

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Sat, 19 Nov 2016 14:47:41 +0000</pubDate>
        <dc:creator>Daniel Sanders &lt;daniel_l_sanders@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>c6d1986a - Try to fix unused variable warning on lld-x86_64-darwin13 after r287439.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#c6d1986a</link>
        <description>Try to fix unused variable warning on lld-x86_64-darwin13 after r287439.Whether the variable is used or not depends on NDEBUG.llvm-svn: 287440

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Sat, 19 Nov 2016 13:50:32 +0000</pubDate>
        <dc:creator>Daniel Sanders &lt;daniel_l_sanders@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>72db2a39 - Check that emitted instructions meet their predicates on all targets except ARM, Mips, and X86.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#72db2a39</link>
        <description>Check that emitted instructions meet their predicates on all targets except ARM, Mips, and X86.Summary:* ARM is omitted from this patch because this check appears to expose bugs in this target.* Mips is omitted from this patch because this check either detects bugs or deliberate  emission of instructions that don&apos;t satisfy their predicates. One deliberate  use is the SYNC instruction where the version with an operand is correctly  defined as requiring MIPS32 while the version without an operand is defined  as an alias of &apos;SYNC 0&apos; and requires MIPS2.* X86 is omitted from this patch because it doesn&apos;t use the tablegen-erated  MCCodeEmitter infrastructure.Patches for ARM and Mips will follow.Depends on D25617Reviewers: tstellarAMD, jmolloySubscribers: wdng, jmolloy, aemerson, rengolin, arsenm, jyknight, nemanjai, nhaehnle, tstellarAMD, llvm-commitsDifferential Revision: https://reviews.llvm.org/D25618llvm-svn: 287439

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Sat, 19 Nov 2016 13:05:44 +0000</pubDate>
        <dc:creator>Daniel Sanders &lt;daniel_l_sanders@apple.com&gt;</dc:creator>
    </item>
<item>
        <title>858239d5 - Prune some includes from headers and sink some inline functions</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#858239d5</link>
        <description>Prune some includes from headers and sink some inline functionsMCSymbol.h shouldn&apos;t pull in MCAssembler.h, just MCFragment.h.MCLinkerOptimizationHint.h shouldn&apos;t need MCMachObjectWriter.h.  Therest is fixing the fallout.llvm-svn: 273507

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Wed, 22 Jun 2016 23:23:08 +0000</pubDate>
        <dc:creator>Reid Kleckner &lt;rnk@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f00654e3 - Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#f00654e3</link>
        <description>Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC)Apparently, the style needs to be agreed upon first.llvm-svn: 240390

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Tue, 23 Jun 2015 09:49:53 +0000</pubDate>
        <dc:creator>Alexander Kornienko &lt;alexfh@google.com&gt;</dc:creator>
    </item>
<item>
        <title>70bc5f13 - Fixed/added namespace ending comments using clang-tidy. NFC</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#70bc5f13</link>
        <description>Fixed/added namespace ending comments using clang-tidy. NFCThe patch is generated using this command:tools/clang/tools/extra/clang-tidy/tool/run-clang-tidy.py -fix \  -checks=-*,llvm-namespace-comment -header-filter=&apos;llvm/.*|clang/.*&apos; \  llvm/lib/Thanks to Eugene Kosov for the original patch!llvm-svn: 240137

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Fri, 19 Jun 2015 15:57:42 +0000</pubDate>
        <dc:creator>Alexander Kornienko &lt;alexfh@google.com&gt;</dc:creator>
    </item>
<item>
        <title>310deada - [bpf] add big- and host- endian support</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#310deada</link>
        <description>[bpf] add big- and host- endian supportSummary:-march=bpf    -&gt; host endian-march=bpf_le -&gt; little endian-match=bpf_be -&gt; big endianTest Plan:v1 was tested by IBM s390 guys and appears to be working there.It bit rots too fast here.Reviewers: chandlerc, tstellarAMDSubscribers: llvm-commitsDifferential Revision: http://reviews.llvm.org/D10177llvm-svn: 239071

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Thu, 04 Jun 2015 19:15:05 +0000</pubDate>
        <dc:creator>Alexei Starovoitov &lt;alexei.starovoitov@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>50e2a293 - Replace custom fixed endian to raw_ostream emission with EndianStream.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#50e2a293</link>
        <description>Replace custom fixed endian to raw_ostream emission with EndianStream.Less code, clearer and more efficient. No functionality change intended.llvm-svn: 239040

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Thu, 04 Jun 2015 15:03:02 +0000</pubDate>
        <dc:creator>Benjamin Kramer &lt;benny.kra@googlemail.com&gt;</dc:creator>
    </item>
<item>
        <title>91df21f7 - MC: Update MCCodeEmitter naming. NFC.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp#91df21f7</link>
        <description>MC: Update MCCodeEmitter naming. NFC.s/EncodeInstruction/encodeInstruction/llvm-svn: 237469

            List of files:
            /llvm-project-15.0.7/llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp</description>
        <pubDate>Fri, 15 May 2015 19:13:16 +0000</pubDate>
        <dc:creator>Jim Grosbach &lt;grosbach@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
