<?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 ReconcileUnrealizedCasts.cpp</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>f8d5c73c - [mlir][NFC] Update the Builtin dialect to use &quot;Both&quot; accessors</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp#f8d5c73c</link>
        <description>[mlir][NFC] Update the Builtin dialect to use &quot;Both&quot; accessorsDifferential Revision: https://reviews.llvm.org/D121189

            List of files:
            /llvm-project-15.0.7/mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp</description>
        <pubDate>Tue, 08 Mar 2022 03:13:02 +0000</pubDate>
        <dc:creator>River Riddle &lt;riddleriver@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>61bc6aa5 - [mlir] spelling and style changes in ReconcileUnrealizedCasts.cpp. NFC.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp#61bc6aa5</link>
        <description>[mlir] spelling and style changes in ReconcileUnrealizedCasts.cpp. NFC.

            List of files:
            /llvm-project-15.0.7/mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp</description>
        <pubDate>Fri, 10 Sep 2021 12:08:15 +0000</pubDate>
        <dc:creator>Alex Zinenko &lt;zinenko@google.com&gt;</dc:creator>
    </item>
<item>
        <title>8b58ab8c - [mlir] Factor type reconciliation out of Standard-to-LLVM conversion</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp#8b58ab8c</link>
        <description>[mlir] Factor type reconciliation out of Standard-to-LLVM conversionConversion to the LLVM dialect is being refactored to be more progressive andis now performed as a series of independent passes converting differentdialects. These passes may produce `unrealized_conversion_cast` operations thatrepresent pending conversions between built-in and LLVM dialect types.Historically, a more monolithic Standard-to-LLVM conversion pass did not needthese casts as all operations were converted in one shot. Previous refactoringshave led to the requirement of running the Standard-to-LLVM conversion pass toclean up `unrealized_conversion_cast`s even though the IR had no standardoperations in it. The pass must have been also run the last among all to-LLVMpasses, in contradiction with the partial conversion logic. Additionally, theway it was set up could produce invalid operations by removing casts betweenLLVM and built-in types even when the consumer did not accept the uncastedtype, or could lead to cryptic conversion errors (recursive application of therewrite pattern on `unrealized_conversion_cast` as a means to indicate failureto eliminate casts).In fact, the need to eliminate A-&gt;B-&gt;A `unrealized_conversion_cast`s is notspecific to to-LLVM conversions and can be factored out into a separate typereconciliation pass, which is achieved in this commit. While the cast operationitself has a folder pattern, it is insufficient in most conversion passes asthe folder only applies to the second cast. Without complex legality setup inthe conversion target, the conversion infra will either consider the castoperations valid and not fold them (a separate canonicalization would benecessary to trigger the folding), or consider the first cast invalid upongeneration and stop with error. The pattern provided by the reconciliation passapplies to the first cast operation instead. Furthermore, having a separatepass makes it clear when `unrealized_conversion_cast`s could not have beeneliminated since it is the only reason why this pass can fail.Reviewed By: nicolasvasilacheDifferential Revision: https://reviews.llvm.org/D109507

            List of files:
            /llvm-project-15.0.7/mlir/lib/Conversion/ReconcileUnrealizedCasts/ReconcileUnrealizedCasts.cpp</description>
        <pubDate>Thu, 09 Sep 2021 14:06:10 +0000</pubDate>
        <dc:creator>Alex Zinenko &lt;zinenko@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
