<?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 extends.isle</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>bb886ffc - ISLE: Add proper bool type (#9593)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#bb886ffc</link>
        <description>ISLE: Add proper bool type (#9593)* ISLE: add proper booleans (expressions)Copyright (c) 2024, Arm Limited.Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;* ISLE: add proper booleans (patterns)Copyright (c) 2024, Arm Limited.Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;* ISLE: add proper booleans (spec expressions)Copyright (c) 2024, Arm Limited.Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;* ISLE: replace opaque boolean constantsCopyright (c) 2024, Arm Limited.Replace all occurences of `$true` and `$false` with `true` and `false`.Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;* ISLE: remove `on_lhs` argumentInstead of threading `on_lhs` through all the calls to `translate_expr`,we can just set `is_partial` and `is_pure` on `root_flags` to true.Copyright (c) 2024, Arm Limited.Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;* ISLE: add proper booleans (language reference)Copyright (c) 2024, Arm Limited.Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;---------Signed-off-by: Karl Meakin &lt;karl.meakin@arm.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Thu, 14 Nov 2024 22:55:38 +0000</pubDate>
        <dc:creator>Karl Meakin &lt;karlwfmeakin@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>69b005fe - Implement a few minor optimizations around 128-bit integers (#9136)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#69b005fe</link>
        <description>Implement a few minor optimizations around 128-bit integers (#9136)* Implement a few minor optimizations around 128-bit integersThis commit implements a few minor changes for `i128` in both the egraphoptimizations and lowerings for x64. The optimization pass will nowtransform `iconcat` into a `uextend` or `sextend` where appropriate.The x64 backend then pattern-matches this to produce slightly moreoptimal machine code. Additionally the x64 backend now handlesmemory/immediate operands a bit better when the argument to a 128-bitoperation is an `iconcat`.* Update test expectations* Match iadd lowering rules for isub

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Fri, 16 Aug 2024 18:43:32 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.com&gt;</dc:creator>
    </item>
<item>
        <title>ead6c7cc - cranelift: Fix ireduce rules (#8005)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#ead6c7cc</link>
        <description>cranelift: Fix ireduce rules (#8005)We had two optimization rules which started off like this:(rule (simplify (ireduce smallty val@(binary_op _ op x y)))      (if-let _ (reducible_modular_op val))      ...)This was intended to check that `x` and `y` came from an instructionwhich not only was a binary op but also matched `reducible_modular_op`.Unfortunately, both `binary_op` and `reducible_modular_op` weremulti-terms.- So `binary_op` would search the eclass rooted at `val` to find each  instruction that uses a binary operator.- Then `reducible_modular_op` would search the entire eclass again to  find an instruction which matched its criteria.Nothing ensured that both searches would find the same instruction.The reason these rules were written this way was because they hadadditional guards (`will_simplify_with_ireduce`) which made them fairlycomplex, and it seemed desirable to not have to copy those guards forevery operator where we wanted to apply this optimization.However, we&apos;ve decided that checking whether the rule is actually animprovement is not desirable. In general, that should be the job of thecost function. Blindly adding equivalent expressions gives us moreopportunities for other rules to fire, and we have global recursion andgrowth limits to keep the process from going too wild.As a result, we can just delete those guards. That allows us to writethe rules in a more straightforward way.Fixes #7999.Co-authored-by: Trevor Elliott &lt;telliott@fastly.com&gt;Co-authored-by: L Pereira &lt;l.pereira@fastly.com&gt;Co-authored-by: Chris Fallin &lt;chris@cfallin.org&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Wed, 28 Feb 2024 01:44:26 +0000</pubDate>
        <dc:creator>Jamey Sharp &lt;jsharp@fastly.com&gt;</dc:creator>
    </item>
<item>
        <title>74a303a8 - Guard recursion in `will_simplify_with_ireduce` (#7882)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#74a303a8</link>
        <description>Guard recursion in `will_simplify_with_ireduce` (#7882)Add a test to expose issues with unbounded recursion through `iadd`during egraph rewrites, and bound the recursion of`will_simplify_with_ireduce`.Fixes #7874Co-authored-by: Nick Fitzgerald &lt;fitzgen@gmail.com&gt;

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Wed, 07 Feb 2024 05:02:03 +0000</pubDate>
        <dc:creator>Trevor Elliott &lt;telliott@fastly.com&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/extends.isle#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/extends.isle</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>2bd90027 - Optimize more reduction-of-an-extend cases (#7711)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#2bd90027</link>
        <description>Optimize more reduction-of-an-extend cases (#7711)* Optimize more reduction-of-an-extend cases* Rebase atop 7719

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Wed, 03 Jan 2024 02:22:22 +0000</pubDate>
        <dc:creator>scottmcm &lt;scottmcm@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>d12e4237 - Simplify ireduce of modular operators, when it lowers the total instructions (#7719)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#d12e4237</link>
        <description>Simplify ireduce of modular operators, when it lowers the total instructions (#7719)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Tue, 02 Jan 2024 18:22:00 +0000</pubDate>
        <dc:creator>scottmcm &lt;scottmcm@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>36b10914 - Cranelift: use more `iconst_[su]` in opts, notably enabling some i128 patterns (#7693)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#36b10914</link>
        <description>Cranelift: use more `iconst_[su]` in opts, notably enabling some i128 patterns (#7693)* Cranelift: use more `iconst_[su]` in opts, notably re-enabling some i128 cases`iconst_u` and `iconst_s` support `$I128`, so we can now enable these even though they had to be excluded before to avoid generating `iconst.i128` that doesn&apos;t exist.* Update for PR feedback

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Mon, 18 Dec 2023 20:14:03 +0000</pubDate>
        <dc:creator>scottmcm &lt;scottmcm@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>2a367f4e - Cranelift: Add iconst shorthand to simplify ISLE opts (#7670)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#2a367f4e</link>
        <description>Cranelift: Add iconst shorthand to simplify ISLE opts (#7670)* Demote `simm32` and `uimm8` to lowering ISLE onlyThere seems to be nothing in opt ISLE that actually wanted them, just something that&apos;s more consistently done with using a 64-bit type to read from an Imm64.And `simm32` feels like it&apos;s probably wrong to me -- `simm32` can&apos;t actually match `-1_i32` -- but I&apos;m not confident enough in my analysis to actually change it.* Cranelift: Add iconst shorthand to simplify ISLE opts* Do a manually un-currying to avoid duplicating loading the `InstructionData`* rustfmt is my nemesis

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Tue, 12 Dec 2023 19:57:14 +0000</pubDate>
        <dc:creator>scottmcm &lt;scottmcm@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>2b80a281 - Additional `extend` opt patterns (#7644)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#2b80a281</link>
        <description>Additional `extend` opt patterns (#7644)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Wed, 06 Dec 2023 23:42:23 +0000</pubDate>
        <dc:creator>scottmcm &lt;scottmcm@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>239e4a1c - Add opt patterns for 3-way comparison (`Ord::cmp` or `&lt;=&gt;`) (#7636)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#239e4a1c</link>
        <description>Add opt patterns for 3-way comparison (`Ord::cmp` or `&lt;=&gt;`) (#7636)* Add opt patterns for 3-way comparison (`Ord::cmp` or `&lt;=&gt;`)Compare clang: &lt;https://cpp.godbolt.org/z/bTbe1556W&gt;* Add `spaceship_[su]` extractors and constructors

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Wed, 06 Dec 2023 23:02:17 +0000</pubDate>
        <dc:creator>scottmcm &lt;scottmcm@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>1e8b4592 - egraphs: Disable bitwise `splat` transform for floats (#6916)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#1e8b4592</link>
        <description>egraphs: Disable bitwise `splat` transform for floats (#6916)* egraphs: Move `{s,u}widen+splat` rules to vector.isle* egraphs: Disable some `splat` rules for floats

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Mon, 28 Aug 2023 13:31:11 +0000</pubDate>
        <dc:creator>Afonso Bordado &lt;afonso360@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>b357b1b1 - egraphs: Transform `{u,s}widen_{low,high}+splat` into `splat+{u,s}extend` (#6533)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#b357b1b1</link>
        <description>egraphs: Transform `{u,s}widen_{low,high}+splat` into `splat+{u,s}extend` (#6533)

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Wed, 07 Jun 2023 11:09:15 +0000</pubDate>
        <dc:creator>Afonso Bordado &lt;afonso360@users.noreply.github.com&gt;</dc:creator>
    </item>
<item>
        <title>7ebff828 - Optimize sign extension via shifts (#6220)</title>
        <link>http://172.16.0.5:8080/history/wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle#7ebff828</link>
        <description>Optimize sign extension via shifts (#6220)* Optimize sign extension via shiftsThis commit adds egraph optimization patterns for left-shifting a valueand then right-shifting it as a form of sign extending its lower bits.This matches the behavior of the WebAssembly `i32.extend8_s`instruction, for example. Note that the lowering of that WebAssemblyinstruction does not use shifts, but historical versions of LLVM thatdidn&apos;t support the instruction, or versions with the instructiondisabled, will use shifts instead.A second rule for reduction-of-extend being the same as the originalvalue was added to keep an existing shift-related test passing as well.* Add reference assemblies for new opts

            List of files:
            /wasmtime-44.0.1/cranelift/codegen/src/opts/extends.isle</description>
        <pubDate>Mon, 17 Apr 2023 18:48:08 +0000</pubDate>
        <dc:creator>Alex Crichton &lt;alex@alexcrichton.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/extends.isle#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/extends.isle</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>
