<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in pattern-errors.td</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>7d81062352f75cf328d91d4900af52c1842b950e - [GlobalISel] Refactor Combiner MatchData &amp; Apply C++ Code Handling (#92239)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#7d81062352f75cf328d91d4900af52c1842b950e</link>
        <description>[GlobalISel] Refactor Combiner MatchData &amp; Apply C++ Code Handling (#92239)Combiners that use C++ code in their &quot;apply&quot; pattern only use that. Theynever mix it with MIR patterns as that has little added value.This patch restricts C++ apply code so that if C++ is used, we cannotuse MIR patterns or builtins with it. Adding this restriction allows usto merge calls to match and apply C++ code together, which in turnsmakes it so we can just have MatchData variables on the stack.So before, we would have```  GIM_CheckCxxInsnPredicate // match  GIM_CheckCxxInsnPredicate // apply  GIR_Done```Alongside a massive C++ struct holding the MatchData of all rulespossible (which was a big space/perf issue).Now we just have```GIR_DoneWithCustomAction```And the function being ran just does```unsigned SomeMatchData;if (match(SomeMatchData))  apply(SomeMatchData)```This approach solves multiple issues in one:- MatchData handling is greatly simplified and more efficient, &quot;don&apos;tpay for what you don&apos;t use&quot;  - We reduce the size of the match table- Calling C++ code has a certain overhead (we need a switch), and thisoverhead is only paid once now.Handling of C++ code inside PatFrags is unchanged though, that stillemits a `GIM_CheckCxxInsnPredicate`. This is completely fine as theycan&apos;t use MatchDatas.

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Thu, 16 May 2024 11:39:00 +0000</pubDate>
        <dc:creator>Pierre van Houtryve &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>7ec996d4c5c30083b070be4898140440094e6b97 - [GlobalISel][TableGen] Support Intrinsics in MIR Patterns (#79278)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#7ec996d4c5c30083b070be4898140440094e6b97</link>
        <description>[GlobalISel][TableGen] Support Intrinsics in MIR Patterns (#79278)

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Thu, 01 Feb 2024 07:53:32 +0000</pubDate>
        <dc:creator>Pierre van Houtryve &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>96e9786414473a8c942350350c18744b1f86db83 - [TableGen][GlobalISel] Add MIFlags matching &amp; rewriting (#71179)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#96e9786414473a8c942350350c18744b1f86db83</link>
        <description>[TableGen][GlobalISel] Add MIFlags matching &amp; rewriting (#71179)Also disables generation of MutateOpcode. It&apos;s almost never used incombiners anyway.If we really want to use it, it needs to be investigated &amp; properlyfixed (see TODO)    Fixes #70780

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Wed, 08 Nov 2023 09:31:49 +0000</pubDate>
        <dc:creator>Pierre van Houtryve &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>573fa770d07bacd9276370454be32731fca99eea - [TableGen][GlobalISel] Add rule-wide type inference (#66377)</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#573fa770d07bacd9276370454be32731fca99eea</link>
        <description>[TableGen][GlobalISel] Add rule-wide type inference (#66377)The inference is trivial and leverages the MCOI OperandTypes encoded inCodeGenInstructions to infer types across patterns in a CombineRule.It&apos;s thus very limited and only supports CodeGenInstructions (but that&apos;s themain use case so it&apos;s fine).We only try to infer untyped operands in apply patterns when they&apos;retemp reg defs, or immediates. Inference always outputs a `GITypeOf&lt;$x&gt;` where$x is a named operand from a match pattern.This allows us to drop the `GITypeOf` in most cases without any errors.

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Wed, 08 Nov 2023 07:10:22 +0000</pubDate>
        <dc:creator>Pierre van Houtryve &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>844c0da77766901eba6420c096657c6078289c4e - [TableGen][GlobalISel] Add MIR Pattern Builtins</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#844c0da77766901eba6420c096657c6078289c4e</link>
        <description>[TableGen][GlobalISel] Add MIR Pattern BuiltinsAdds a new feature to MIR patterns: builtin instructions.They offer some additional capabilities that currently cannot be expressed without falling back to C++ code.There are two builtins added with this patch, but more can be added later as new needs arise: - GIReplaceReg - GIEraseRootDepends on D158714, D158713Reviewed By: arsenm, aemersonDifferential Revision: https://reviews.llvm.org/D158975

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Fri, 25 Aug 2023 12:48:01 +0000</pubDate>
        <dc:creator>pvanhout &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>4e513f69a155e4010f707ec8f840eac4ccc695fc - [GlobalISel] Cleanup Combine.td</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#4e513f69a155e4010f707ec8f840eac4ccc695fc</link>
        <description>[GlobalISel] Cleanup Combine.tdNow that the old backend is gone, clean-up a few things that no longer make sense and tidy up the file a bit.Depends on D158710Reviewed By: arsenmDifferential Revision: https://reviews.llvm.org/D158714

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Wed, 23 Aug 2023 14:53:44 +0000</pubDate>
        <dc:creator>pvanhout &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
<item>
        <title>54d0cf58fb5ecdcaab09779016b03e19b5646e9b - [TableGen] Remove &amp; Replace old GICombiner Backend</title>
        <link>http://src.rcs.uwaterloo.ca:8080/source/history/llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td#54d0cf58fb5ecdcaab09779016b03e19b5646e9b</link>
        <description>[TableGen] Remove &amp; Replace old GICombiner BackendThe MatchTable-based GlobalISel Combiner backend is the new default. There are no in-tree users left of the old backend.- Removed implementation of old MatchDAG-based Combiner, including tests, the backend itself and all supporting code.- Renamed MatchTable backend to `GlobalISelCombinerEmitter.cpp` + removed &quot;-matchtable&quot; from its CL option.    - no need to have a verbose name as it&apos;s the only backend left now.Reviewed By: aemersonDifferential Revision: https://reviews.llvm.org/D158710

            List of files:
            /llvm-project/llvm/test/TableGen/GlobalISelCombinerEmitter/pattern-errors.td</description>
        <pubDate>Wed, 23 Aug 2023 10:27:12 +0000</pubDate>
        <dc:creator>pvanhout &lt;pierre.vanhoutryve@amd.com&gt;</dc:creator>
    </item>
</channel>
</rss>
