<?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 instructions.rs</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>4c01ee2f - Cranelift: add get_exception_handler_address. (#11629)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#4c01ee2f</link>
        <description>Cranelift: add get_exception_handler_address. (#11629)* Cranelift: add get_exception_handler_address.This is designed to enable applications such as #11592 that usealternative unwinding mechanisms that may not necessarily want to walk astack and look up exception tables. The idea is that whenever it wouldbe valid to resume to an exception handler that is active on the stack,we can provide the same PC as a first-class runtime value that would befound in the exception table for the given handler edge. A &quot;custom&quot;resume step can then use this PC as a resume-point as long as it followsthe relevant exception ABI (i.e.: restore SP, FP, any other savedregisters that the exception ABI specifies, and provide appropriatepayload value(s)).Handlers are associated with edges out of `try_call`s (or`try_call_indirect`s); and edges specifically, not blocks, because therecould be multiple out-edges to one block. The instruction thus takes theblock that contains the try-call and an immediate that indexes itsexceptional edges.This CLIF instruction required a bit of infrastructure to (i) allownaming raw blocks, not just block calls, as instruction arguments, and(ii) allow getting the MachLabel for any other lowered block duringlowering. But given that, the lowerings themselves are straightforwarduses of MachBuffer labels to fix-up PC-relative address-loadinginstructions (e.g., `LEA` or `ADR` or `AUIPC`+`ADDI`).* Review feedback.* Review feedback: more tests.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Fri, 05 Sep 2025 22:41:46 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>069598f7 - typo-Update instructions.rs (#9895)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#069598f7</link>
        <description>typo-Update instructions.rs (#9895)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Fri, 27 Dec 2024 05:41:15 +0000</pubDate>
        <dc:creator>Romashka &lt;chernozub777@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>85118c8c - Add clippy suggestions (#6203)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#85118c8c</link>
        <description>Add clippy suggestions (#6203)* add clippy suggestions* revert &amp;/ref change* Update cranelift/isle/isle/src/parser.rsCo-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;---------Co-authored-by: Jamey Sharp &lt;jamey@minilop.net&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Mon, 17 Apr 2023 15:53:34 +0000</pubDate>
        <dc:creator>kevaundray &lt;kevtheappdev@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f8771416 - cranelift-meta: Don&apos;t let-bind operand definitions (#5969)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#f8771416</link>
        <description>cranelift-meta: Don&apos;t let-bind operand definitions (#5969)We&apos;ve adopted this pattern in Cranelift&apos;s instruction definitions wherewe let-bind some calls to `Operand::new` and then later use them in oneor more calls to `Inst::new`.That pattern has two problems:- It puts the type of each operand somewhere potentially far removed  from the instruction in which it&apos;s used.- We let-bind the same name for many different operands, compounding the  first problem by making it harder to find _which_ definition is used.So instead this commit removes all let-bindings for operand definitionsand constructs a new `Operand` every time.Constructing an `Operand` at every use means we duplicate somedocumentation strings, but not all that many of them as it turns out.I&apos;ve left the let-bound type-sets alone, so those are currently stillshared across many instructions. They have some of the same problems andshould be reviewed as well.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Thu, 09 Mar 2023 17:24:19 +0000</pubDate>
        <dc:creator>Jamey Sharp &lt;jsharp@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>80c147d9 - Rework br_table to use BlockCall (#5731)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#80c147d9</link>
        <description>Rework br_table to use BlockCall (#5731)Rework br_table to use BlockCall, allowing us to avoid adding new nodes during ssa construction to hold block arguments. Additionally, many places where we previously matched on InstructionData to extract branch destinations can be replaced with a use of branch_destination or branch_destination_mut.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Thu, 16 Feb 2023 17:23:27 +0000</pubDate>
        <dc:creator>Trevor Elliott &lt;telliott@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>b5692db7 - Remove boolean parameters from instruction builder functions (#5658)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#b5692db7</link>
        <description>Remove boolean parameters from instruction builder functions (#5658)Remove the boolean parameters from the instruction builder functions, as they were only ever used with true. Additionally, change the returns and branches functions to imply terminates_block.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Tue, 31 Jan 2023 00:12:05 +0000</pubDate>
        <dc:creator>Trevor Elliott &lt;telliott@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>f4a2d533 - Cranelift: GVN `uadd_overflow_trap` (#5520)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#f4a2d533</link>
        <description>Cranelift: GVN `uadd_overflow_trap` (#5520)* Switch duplicate loads w/ dynamic memories test to `min_size = 0`This test was accidentally hitting a special case for bounds checks for when weknow that `offset + access_size &lt; min_size` and can skip some steps. Thiscommit changes the `min_size` of the memory to zero so that we are forced to dofully general bounds checks.* Cranelift: Mark `uadd_overflow_trap` as okay for GVNAlthough this improves our test sequence for duplicate loads with dynamicmemories, it unfortunately doesn&apos;t have any effect on sightglass benchmarks:```instantiation :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm  No difference in performance.  [34448 35607.23 37158] gvn_uadd_overflow_trap.so  [34566 35734.05 36585] main.soinstantiation :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm  No difference in performance.  [44101 60449.62 92712] gvn_uadd_overflow_trap.so  [44011 60436.37 92690] main.soinstantiation :: instructions-retired :: benchmarks/bz2/benchmark.wasm  No difference in performance.  [35595 36675.72 38153] gvn_uadd_overflow_trap.so  [35440 36670.42 37993] main.socompilation :: instructions-retired :: benchmarks/bz2/benchmark.wasm  No difference in performance.  [17370195 17405125.62 17471222] gvn_uadd_overflow_trap.so  [17369324 17404859.43 17470725] main.soexecution :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm  No difference in performance.  [7055720520 7055886880.32 7056265930] gvn_uadd_overflow_trap.so  [7055719554 7055843809.33 7056193289] main.socompilation :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm  No difference in performance.  [683589861 683767276.00 684098366] gvn_uadd_overflow_trap.so  [683590024 683767998.02 684097885] main.soexecution :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm  No difference in performance.  [46436883 46437135.10 46437823] gvn_uadd_overflow_trap.so  [46436883 46437087.67 46437785] main.socompilation :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm  No difference in performance.  [126522461 126565812.58 126647044] gvn_uadd_overflow_trap.so  [126522176 126565757.75 126647522] main.soexecution :: instructions-retired :: benchmarks/bz2/benchmark.wasm  No difference in performance.  [653010531 653010533.03 653010544] gvn_uadd_overflow_trap.so  [653010531 653010533.18 653010537] main.so```* cranelift-codegen-meta: Rename `side_effects_okay_for_gvn` to `side_effects_idempotent`* cranelift-filetests: Ensure there is a trailing newline for blessed Wasm tests

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Thu, 05 Jan 2023 06:03:16 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>937601c7 - Cranelift: GVN spectre guards and run redundant load elimination twice (#5517)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#937601c7</link>
        <description>Cranelift: GVN spectre guards and run redundant load elimination twice (#5517)* Cranelift: Make spectre guards GVN-ableWhile these instructions have a side effect that is otherwise invisible to theoptimizer, the side effect in question is idempotent, so it can be de-duplicatedby GVN.* Cranelift: Run redundant load replacement and GVN twiceThis allows us to actually replace redundant Wasm loads with dynamic memories.While this improves our hand-crafted test sequences, it doesn&apos;t seem to have anyimprovement on sightglass benchmarks run with dynamic memories, however it alsoisn&apos;t a hit to compilation times, so seems generally good to land anyways:```$ cargo run --release -- benchmark -e ~/scratch/once.so -e ~/scratch/twice.so -m insts-retired --processes 20 --iterations-per-process 3 --engine-flags=&quot;--static-memory-maximum-size 0&quot; -- benchmarks/default.suitecompilation :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm  No difference in performance.  [683595240 683768610.53 684097577] once.so  [683597068 700115966.83 1664907164] twice.soinstantiation :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm  No difference in performance.  [44107 60411.07 92785] once.so  [44138 59552.32 92097] twice.socompilation :: instructions-retired :: benchmarks/bz2/benchmark.wasm  No difference in performance.  [17369916 17404839.78 17471458] once.so  [17369935 17625713.87 30700150] twice.socompilation :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm  No difference in performance.  [126523640 126566170.80 126648265] once.so  [126523076 127174580.30 163145149] twice.soinstantiation :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm  No difference in performance.  [34569 35686.25 36513] once.so  [34651 35749.97 36953] twice.soinstantiation :: instructions-retired :: benchmarks/bz2/benchmark.wasm  No difference in performance.  [35146 36639.10 37707] once.so  [34472 36580.82 38431] twice.soexecution :: instructions-retired :: benchmarks/spidermonkey/benchmark.wasm  No difference in performance.  [7055720115 7055841324.82 7056180024] once.so  [7055717681 7055877095.85 7056225217] twice.soexecution :: instructions-retired :: benchmarks/pulldown-cmark/benchmark.wasm  No difference in performance.  [46436881 46437081.28 46437691] once.so  [46436883 46437127.68 46437766] twice.soexecution :: instructions-retired :: benchmarks/bz2/benchmark.wasm  No difference in performance.  [653010530 653010533.27 653010539] once.so  [653010531 653010532.95 653010538] twice.so```

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Wed, 04 Jan 2023 20:05:43 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>e913cf36 - Remove IFLAGS/FFLAGS types (#5406)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#e913cf36</link>
        <description>Remove IFLAGS/FFLAGS types (#5406)All instructions using the CPU flags types (IFLAGS/FFLAGS) were alreadyremoved.  This patch completes the cleanup by removing all remaininginstructions that define values of CPU flags types, as well as thetypes themselves.Specifically, the following features are removed:- The IFLAGS and FFLAGS types and the SpecialType category.- Special handling of IFLAGS and FFLAGS in machinst/isle.rs and  machinst/lower.rs.- The ifcmp, ifcmp_imm, ffcmp, iadd_ifcin, iadd_ifcout, iadd_ifcarry,  isub_ifbin, isub_ifbout, and isub_ifborrow instructions.- The writes_cpu_flags instruction property.- The flags verifier pass.- Flags handling in the interpreter.All of these features are currently unused; no functional changeintended by this patch.This addresses https://github.com/bytecodealliance/wasmtime/issues/3249.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Fri, 09 Dec 2022 21:42:03 +0000</pubDate>
        <dc:creator>Ulrich Weigand &lt;ulrich.weigand@de.ibm.com&gt;</dc:creator>
    </item>
<item>
        <title>e8f3c0c6 - Use InstructionFormat inside InstructionFormatBuilder</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#e8f3c0c6</link>
        <description>Use InstructionFormat inside InstructionFormatBuilder

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Sun, 31 Oct 2021 18:01:33 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>6b32fcfc - Remove Constraint</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#6b32fcfc</link>
        <description>Remove Constraint

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Tue, 12 Oct 2021 13:05:45 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>466a446f - Remove OpcodeNumber</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#466a446f</link>
        <description>Remove OpcodeNumber

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Tue, 12 Oct 2021 12:58:34 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>99114547 - Remove clobbers_all_regs</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#99114547</link>
        <description>Remove clobbers_all_regs

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Tue, 12 Oct 2021 12:54:39 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>e8b18b58 - Remove is_ghost</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#e8b18b58</link>
        <description>Remove is_ghost

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Tue, 12 Oct 2021 12:53:33 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>5b24e117 - Remove instructions used by old br_table legalization</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#5b24e117</link>
        <description>Remove instructions used by old br_table legalization

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Tue, 12 Oct 2021 12:18:52 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>5b3b459a - Fix some nightly dead code warnings (#3404)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#5b3b459a</link>
        <description>Fix some nightly dead code warnings (#3404)* Fix some nightly dead code warningsLooks like the &quot;struct field not used&quot; lint has improved on nightly andcaught a few more instances of fields that were never actually read.* Fix windows

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Fri, 01 Oct 2021 19:26:30 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>551f1c3a - Remove BindParameter and Bindable</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#551f1c3a</link>
        <description>Remove BindParameter and Bindable

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Wed, 29 Sep 2021 17:00:12 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>3fae9e5f - Remove outdated tests from cranelift-codegen-meta</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#3fae9e5f</link>
        <description>Remove outdated tests from cranelift-codegen-meta

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Wed, 29 Sep 2021 16:43:04 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>53ec12d5 - Rustfmt</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#53ec12d5</link>
        <description>Rustfmt

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Mon, 21 Jun 2021 11:24:46 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>18bd27e9 - Remove legalizer support from cranelift-codegen-meta</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs#18bd27e9</link>
        <description>Remove legalizer support from cranelift-codegen-meta

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/meta/src/cdsl/instructions.rs</description>
        <pubDate>Mon, 21 Jun 2021 10:55:08 +0000</pubDate>
        <dc:creator>bjorn3 &lt;bjorn3@users.noreply.github.com&gt;</dc:creator>
    </item>
</channel>
</rss>
