<?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 README.md</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5e751f86 - Cranelift: add note to opts/README.md describing new mid-end rule guidance after #7999. (#8015)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/README.md#5e751f86</link>
        <description>Cranelift: add note to opts/README.md describing new mid-end rule guidance after #7999. (#8015)While debugging #7999, we learned of a possible, extremely subtle,interaction between the design of our ISLE mid-end prelude and matchingrules with a certain structure. Because a `Value` represents an entireeclass, separate left-hand sides (as in helper rules or if-let clauses)that match on the value may match against different enodes returned bythe multi-match extractor&apos;s iterator. We then may infer some property ofone enode, another property of another enode, and perform a rewrite thatis only valid if both of those matches are on the same enode.The precise distinction is whether it is a property of the *value* -- e.g.,nonzero, or even, or within a range -- or a property of the *operation*and matched subpieces. The former is fine, the latter runs intotrouble. We found that #7719 added a helper that determined whether avalue &quot;was a certain operator&quot; -- actually, had any enode of a certainoperator -- and separately, matched &quot;the operator&quot; and extracted itsopcode and parameters (actually, *any* binary operator). The first halfcan match an opcode we support simplifying, and the second half can getthe arguments and `op` and blindly use them in the rewrite.This PR adds new guidance to avoid complex helpers and be aware ofmulti-matching behavior, preferring to write patterns directly (as thefix in #8005 does) instead. Longer-term, we also have other ideas, e.g.@jameysharp&apos;s suggestion to disallow at-patterns on multi-extractors inleft hand sides to reduce the chance of hitting this footgun.

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/README.md</description>
        <pubDate>Wed, 28 Feb 2024 18:58:02 +0000</pubDate>
        <dc:creator>Chris Fallin &lt;chris@cfallin.org&gt;</dc:creator>
    </item>
<item>
        <title>7464bbcb - Add missing subsume uses in egraph rules (#7879)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/README.md#7464bbcb</link>
        <description>Add missing subsume uses in egraph rules (#7879)* Fix a few egraph rules that needed `subsume`There were a few rules that dropped value references from the LHSwithout using subsume. I think they were probably benign as theyproduced constant results, but this change is in the spirit of ourrevised guidelines for egraph rules.* Augment egraph rule guideline 2 to talk about constants

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/README.md</description>
        <pubDate>Tue, 06 Feb 2024 20:16:03 +0000</pubDate>
        <dc:creator>Trevor Elliott &lt;telliott@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>5b2ae836 - Cranelift: Use a fixpoint loop to compute the best value for each eclass (#7859)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/README.md#5b2ae836</link>
        <description>Cranelift: Use a fixpoint loop to compute the best value for each eclass (#7859)* Cranelift: Use a fixpoint loop to compute the best value for each eclassFixes #7857* Remove fixpoint loop early-continue optimization* Add document describing optimization rule invariants* Make select optimizations use subsume* Remove invalid debug assert* Remove now-unused methods* Add commutative adds to cost tests

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/README.md</description>
        <pubDate>Mon, 05 Feb 2024 22:42:32 +0000</pubDate>
        <dc:creator>Nick Fitzgerald &lt;fitzgen@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>b9a58148 - ISLE: split algebraic.isle into several files (#6140)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/README.md#b9a58148</link>
        <description>ISLE: split algebraic.isle into several files (#6140)* ISLE: split algebraic.isle into several files* delete `algebraic.clif`* Add `README.md`* Remove old `algebraic.clif` tests---------Co-authored-by: Jamey Sharp &lt;jsharp@fastly.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/README.md</description>
        <pubDate>Tue, 11 Apr 2023 21:39:18 +0000</pubDate>
        <dc:creator>Karl Meakin &lt;karlwfmeakin@gmail.com&gt;</dc:creator>
    </item>
</channel>
</rss>
