<?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 multiple-phis.ll</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>472462c4 - [NewPM] Consistently use &apos;simplifycfg&apos; rather than &apos;simplify-cfg&apos;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#472462c4</link>
        <description>[NewPM] Consistently use &apos;simplifycfg&apos; rather than &apos;simplify-cfg&apos;There was an alias between &apos;simplifycfg&apos; and &apos;simplify-cfg&apos; in thePassRegistry. That was the original reason for this patch, whicheffectively removes the alias.This patch also replaces all occurrances of &apos;simplify-cfg&apos;by &apos;simplifycfg&apos;. Reason for choosing that form for the name isthat it matches the DEBUG_TYPE for the pass, and the legacy PM nameand also how it is spelled out in other passes such as&apos;loop-simplifycfg&apos;, and in other options such as&apos;simplifycfg-merge-cond-stores&apos;.I for some reason the name should be changed to &apos;simplify-cfg&apos; inthe future, then I think such a renaming should be more widely doneand not only impacting the PassRegistry.Reviewed By: aeubanksDifferential Revision: https://reviews.llvm.org/D105627

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Thu, 08 Jul 2021 12:24:03 +0000</pubDate>
        <dc:creator>Bjorn Pettersson &lt;bjorn.a.pettersson@ericsson.com&gt;</dc:creator>
    </item>
<item>
        <title>e4c61d5f - [NFC][SimplifyCFG] Autogenerate check lines in many test files</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#e4c61d5f</link>
        <description>[NFC][SimplifyCFG] Autogenerate check lines in many test filesThese are potentially being affected by an upcoming patch.

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Tue, 27 Apr 2021 18:28:53 +0000</pubDate>
        <dc:creator>Roman Lebedev &lt;lebedev.ri@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5cce4aff - [SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#5cce4aff</link>
        <description>[SimplifyCFG] TryToSimplifyUncondBranchFromEmptyBlock() already knows how to preserve DomTree... so just ensure that we pass DomTreeUpdater it into it.Fixes DomTree preservation for a large number of tests,all of which are marked as such so that they do not regress.

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Wed, 16 Dec 2020 21:11:42 +0000</pubDate>
        <dc:creator>Roman Lebedev &lt;lebedev.ri@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>cee313d2 - Revert &quot;Temporarily Revert &quot;Add basic loop fusion pass.&quot;&quot;</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#cee313d2</link>
        <description>Revert &quot;Temporarily Revert &quot;Add basic loop fusion pass.&quot;&quot;The reversion apparently deleted the test/Transforms directory.Will be re-reverting again.llvm-svn: 358552

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Wed, 17 Apr 2019 04:52:47 +0000</pubDate>
        <dc:creator>Eric Christopher &lt;echristo@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>f5432837 - [NewPM] Add Option handling for SimplifyCFG</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#f5432837</link>
        <description>[NewPM] Add Option handling for SimplifyCFGThis patch enables passing options to SimplifyCFGPass via the passes pipeline.Reviewers: chandlerc, fedor.sergeev, leonardchan, philip.pfaffeReviewed By: fedor.sergeevSubscribers: llvm-commitsDifferential Revision: https://reviews.llvm.org/D60675llvm-svn: 358379

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Mon, 15 Apr 2019 08:57:53 +0000</pubDate>
        <dc:creator>Serguei Katkov &lt;serguei.katkov@azul.com&gt;</dc:creator>
    </item>
<item>
        <title>81d6d6b6 - [SimplifyCFG] Regenerate some test cases using update_test_checks.py to prepare for an upcoming commit. NFC</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#81d6d6b6</link>
        <description>[SimplifyCFG] Regenerate some test cases using update_test_checks.py to prepare for an upcoming commit. NFCA future commit will change how some of the value names in the IR are generated which causes these tests to break in their current form. The script generates checks with regular expressions so it should be immune.llvm-svn: 317023

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Tue, 31 Oct 2017 19:03:49 +0000</pubDate>
        <dc:creator>Craig Topper &lt;craig.topper@intel.com&gt;</dc:creator>
    </item>
<item>
        <title>b0491731 - [SimplifyCFG] use pass options and remove the latesimplifycfg pass</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#b0491731</link>
        <description>[SimplifyCFG] use pass options and remove the latesimplifycfg passThis is no-functional-change-intended.This is repackaging the functionality of D30333 (defer switch-to-lookup-tables) and D35411 (defer folding unconditional branches) with pass parameters rather than a named&quot;latesimplifycfg&quot; pass. Now that we have individual options to control the functionality,we could decouple when these fire (but that&apos;s an independent patch if desired). The next planned step would be to add another option bit to disable the sinking transformmentioned in D38566. This should also make it clear that the new pass manager needs tobe updated to limit simplifycfg in the same way as the old pass manager.Differential Revision: https://reviews.llvm.org/D38631llvm-svn: 316835

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Sat, 28 Oct 2017 18:43:07 +0000</pubDate>
        <dc:creator>Sanjay Patel &lt;spatel@rotateright.com&gt;</dc:creator>
    </item>
<item>
        <title>b05a5578 - [SimplifyCFG] Defer folding unconditional branches to LateSimplifyCFG if it can destroy canonical loop structure.</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#b05a5578</link>
        <description>[SimplifyCFG] Defer folding unconditional branches to LateSimplifyCFG if it can destroy canonical loop structure.Summary:When simplifying unconditional branches from empty blocks, we pre-test if theBB belongs to a set of loop headers and keep the block to prevent passes fromdestroying canonical loop structure. However, the current algorithm fails ifthe destination of the branch is a loop header. Especially when such a loop&apos;slatch block is folded into loop header it results in additional backedges andLoopSimplify turns it into a nested loop which prevent later optimizationsfrom being applied (e.g., loop  unrolling and loop interleaving).This patch augments the existing algorithm by further checking if thedestination of the branch belongs to a set of loop headers and defereliminating it if yes to LateSimplifyCFG.Fixes PR33605: https://bugs.llvm.org/show_bug.cgi?id=33605Reviewers: efriedma, mcrosier, pacxx, hsung, davidxlReviewed By: efriedmaSubscribers: ashutosh.nema, gberry, javed.absar, llvm-commitsDifferential Revision: https://reviews.llvm.org/D35411llvm-svn: 308422

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Wed, 19 Jul 2017 08:53:34 +0000</pubDate>
        <dc:creator>Balaram Makam &lt;bmakam@codeaurora.org&gt;</dc:creator>
    </item>
<item>
        <title>a79ac14f - [opaque pointer type] Add textual IR support for explicit type parameter to load instruction</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#a79ac14f</link>
        <description>[opaque pointer type] Add textual IR support for explicit type parameter to load instructionEssentially the same as the GEP change in r230786.A similar migration script can be used to update test cases, though a few moretest case improvements/changes were required this time around: (r229269-r229278)import fileinputimport sysimport repat = re.compile(r&quot;((?:=|:|^)\s*load (?:atomic )?(?:volatile )?(.*?))(| addrspace\(\d+\) *)\*($| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$)&quot;)for line in sys.stdin:  sys.stdout.write(re.sub(pat, r&quot;\1, \2\3*\4&quot;, line))Reviewers: rafael, dexonsmith, grosserDifferential Revision: http://reviews.llvm.org/D7649llvm-svn: 230794

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Fri, 27 Feb 2015 21:17:42 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>79e6c749 - [opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instruction</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#79e6c749</link>
        <description>[opaque pointer type] Add textual IR support for explicit type parameter to getelementptr instructionOne of several parallel first steps to remove the target type of pointers,replacing them with a single opaque pointer type.This adds an explicit type parameter to the gep instruction so that when thefirst parameter becomes an opaque pointer type, the type to gep through isstill available to the instructions.* This doesn&apos;t modify gep operators, only instructions (operators will be  handled separately)* Textual IR changes only. Bitcode (including upgrade) and changing the  in-memory representation will be in separate changes.* geps of vectors are transformed as:    getelementptr &lt;4 x float*&gt; %x, ...  -&gt;getelementptr float, &lt;4 x float*&gt; %x, ...  Then, once the opaque pointer type is introduced, this will ultimately look  like:    getelementptr float, &lt;4 x ptr&gt; %x  with the unambiguous interpretation that it is a vector of pointers to float.* address spaces remain on the pointer, not the type:    getelementptr float addrspace(1)* %x  -&gt;getelementptr float, float addrspace(1)* %x  Then, eventually:    getelementptr float, ptr addrspace(1) %xImportantly, the massive amount of test case churn has been automated bysame crappy python code. I had to manually update a few test cases thatwouldn&apos;t fit the script&apos;s model (r228970,r229196,r229197,r229198). Thepython script just massages stdin and writes the result to stdout, Ithen wrapped that in a shell script to handle replacing files, thenusing the usual find+xargs to migrate all the files.update.py:import fileinputimport sysimport reibrep = re.compile(r&quot;(^.*?[^%\w]getelementptr inbounds )(((?:&lt;\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|&gt;)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))&quot;)normrep = re.compile(       r&quot;(^.*?[^%\w]getelementptr )(((?:&lt;\d* x )?)(.*?)(| addrspace\(\d\)) *\*(|&gt;)(?:$| *(?:%|@|null|undef|blockaddress|getelementptr|addrspacecast|bitcast|inttoptr|\[\[[a-zA-Z]|\{\{).*$))&quot;)def conv(match, line):  if not match:    return line  line = match.groups()[0]  if len(match.groups()[5]) == 0:    line += match.groups()[2]  line += match.groups()[3]  line += &quot;, &quot;  line += match.groups()[1]  line += &quot;\n&quot;  return linefor line in sys.stdin:  if line.find(&quot;getelementptr &quot;) == line.find(&quot;getelementptr inbounds&quot;):    if line.find(&quot;getelementptr inbounds&quot;) != line.find(&quot;getelementptr inbounds (&quot;):      line = conv(re.match(ibrep, line), line)  elif line.find(&quot;getelementptr &quot;) != line.find(&quot;getelementptr (&quot;):    line = conv(re.match(normrep, line), line)  sys.stdout.write(line)apply.sh:for name in &quot;$@&quot;do  python3 `dirname &quot;$0&quot;`/update.py &lt; &quot;$name&quot; &gt; &quot;$name.tmp&quot; &amp;&amp; mv &quot;$name.tmp&quot; &quot;$name&quot;  rm -f &quot;$name.tmp&quot;doneThe actual commands:From llvm/src:find test/ -name *.ll | xargs ./apply.shFrom llvm/src/tools/clang:find test/ -name *.mm -o -name *.m -o -name *.cpp -o -name *.c | xargs -I &apos;{}&apos; ../../apply.sh &quot;{}&quot;From llvm/src/tools/polly:find test/ -name *.ll | xargs ./apply.shAfter that, check-all (with llvm, clang, clang-tools-extra, lld,compiler-rt, and polly all checked out).The extra &apos;rm&apos; in the apply.sh script is due to a few files in clang&apos;s testsuite using interesting unicode stuff that my python script was throwingexceptions on. None of those files needed to be migrated, so it seemedsufficient to ignore those cases.Reviewers: rafael, dexonsmith, grosserDifferential Revision: http://reviews.llvm.org/D7636llvm-svn: 230786

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Fri, 27 Feb 2015 19:29:02 +0000</pubDate>
        <dc:creator>David Blaikie &lt;dblaikie@gmail.com&gt;</dc:creator>
    </item>
<item>
        <title>5ab9c0a9 - Fix SpeculativelyExecuteBB to either speculate all or none of the phis</title>
        <link>http://172.16.0.5:8080/history/llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll#5ab9c0a9</link>
        <description>Fix SpeculativelyExecuteBB to either speculate all or none of the phispresent in the bottom of the CFG triangle, as the transformation isn&apos;tever valuable if the branch can&apos;t be eliminated.Also, unify some heuristics between SimplifyCFG&apos;s multipleif-converters, for consistency.This fixes rdar://10627242.llvm-svn: 147630

            List of files:
            /llvm-project-15.0.7/llvm/test/Transforms/SimplifyCFG/multiple-phis.ll</description>
        <pubDate>Thu, 05 Jan 2012 23:58:56 +0000</pubDate>
        <dc:creator>Dan Gohman &lt;gohman@apple.com&gt;</dc:creator>
    </item>
</channel>
</rss>
