<?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 devirtualization-undef.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>aff058b1 - Reland [CGSCC] Detect devirtualization in more cases</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Other/devirtualization-undef.ll#aff058b1</link>
        <description>Reland [CGSCC] Detect devirtualization in more casesThe devirtualization wrapper misses cases where if it wraps a passmanager, an individual pass may devirtualize an indirect call created bya previous pass. For example, inlining may create a new indirect callwhich is devirtualized by instcombine. Currently the devirtualizationwrapper will not see that because it only checks cgscc edges at the verybeginning and end of the pass (manager) it wraps.This fixes some tests testing this exact behavior in the legacy PM.Instead of checking WeakTrackingVHs for CallBases at the very beginningand end of the pass it wraps, check every timeupdateCGAndAnalysisManagerForPass() is called.check-llvm and check-clang with -abort-on-max-devirt-iterations-reachedon by default doesn&apos;t show any failures outside of tests specificallytesting it so it doesn&apos;t needlessly rerun passes more than necessary.(The NPM -O2/3 pipeline run the inliner/function simplification pipelineunder a devirtualization repeater pass up to 4 times by default).http://llvm-compile-time-tracker.com/?config=O3&amp;stat=instructions&amp;remote=aeubanksshows that 7zip has ~1% compile time regression. I looked at it and sawthat there indeed was devirtualization happening that was not previouslycaught, so now it reruns the CGSCC pipeline on some SCCs, which is WAI.The initial land assumed CallBase WeakTrackingVHs would always beCallBases, but they can be RAUW&apos;d with undef.Reviewed By: asbirleaDifferential Revision: https://reviews.llvm.org/D89587

            List of files:
            /llvm-project-15.0.7/llvm/test/Other/devirtualization-undef.ll</description>
        <pubDate>Thu, 15 Oct 2020 00:56:38 +0000</pubDate>
        <dc:creator>Arthur Eubanks &lt;aeubanks@google.com&gt;</dc:creator>
    </item>
</channel>
</rss>
