<feed xmlns='http://www.w3.org/2005/Atom'>
<title>bcm5719-llvm/llvm/test/Transforms/SimpleLoopUnswitch, branch meklort-10.0.1</title>
<subtitle>Project Ortega BCM5719 LLVM</subtitle>
<id>https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1</id>
<link rel='self' href='https://git.raptorcs.com/git/bcm5719-llvm/atom?h=meklort-10.0.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/'/>
<updated>2019-12-04T11:32:09+00:00</updated>
<entry>
<title>[SimpleLoopUnswitch] Invalidate the topmost loop with ExitBB as exiting.</title>
<updated>2019-12-04T11:32:09+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2019-12-04T11:24:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=4a9cde5a791cd49b96993e61d0f2401b81b6212d'/>
<id>urn:sha1:4a9cde5a791cd49b96993e61d0f2401b81b6212d</id>
<content type='text'>
SCEV caches the exiting blocks when computing exit counts. In
SimpleLoopUnswitch, we split the exit block of the loop to unswitch.

Currently we only invalidate the loop containing that exit block, but if
that block is the exiting block for a parent loop, we have stale cache
entries. We have to invalidate the top-most loop that contains the exit
block as exiting block. We might also be able to skip invalidating the
loop containing the exit block, if the exit block is not an exiting
block of that loop.

There are also 2 more places in SimpleLoopUnswitch, that use a similar
problematic approach to get the loop to invalidate. If the patch makes
sense, I will also update those places to a similar approach (they deal
with multiple exit blocks, so we cannot directly re-use
getTopMostExitingLoop).

Fixes PR43972.

Reviewers: skatkov, reames, asbirlea, chandlerc

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D70786
</content>
</entry>
<entry>
<title>[MemorySSA] Update for partial unswitch.</title>
<updated>2019-10-14T23:52:39+00:00</updated>
<author>
<name>Alina Sbirlea</name>
<email>asbirlea@google.com</email>
</author>
<published>2019-10-14T23:52:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=b7a3353061e965f901ba5cfac366263d6d528f35'/>
<id>urn:sha1:b7a3353061e965f901ba5cfac366263d6d528f35</id>
<content type='text'>
Update MSSA for blocks cloned when doing partial unswitching.
Enable additional testing with MSSA.
Resolves PR43641.

llvm-svn: 374850
</content>
</entry>
<entry>
<title>[LoopPassManager + MemorySSA] Only enable use of MemorySSA for LPMs known to preserve it.</title>
<updated>2019-08-21T17:00:57+00:00</updated>
<author>
<name>Alina Sbirlea</name>
<email>asbirlea@google.com</email>
</author>
<published>2019-08-21T17:00:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=7425179fee9b4ed1ff6d366ee06487f05a1c0ab3'/>
<id>urn:sha1:7425179fee9b4ed1ff6d366ee06487f05a1c0ab3</id>
<content type='text'>
Summary:
Add a flag to the FunctionToLoopAdaptor that allows enabling MemorySSA only for the loop pass managers that are known to preserve it.

If an LPM is known to have only loop transforms that *all* preserve MemorySSA, then use MemorySSA if `EnableMSSALoopDependency` is set.
If an LPM has loop passes that do not preserve MemorySSA, then the flag passed is `false`, regardless of the value of `EnableMSSALoopDependency`.

When using a custom loop pass pipeline via `passes=...`, use keyword `loop` vs `loop-mssa` to use MemorySSA in that LPM. If a loop that does not preserve MemorySSA is added while using the `loop-mssa` keyword, that's an error.

Add the new `loop-mssa` keyword to a few tests where a difference occurs when enabling MemorySSA.

Reviewers: chandlerc

Subscribers: mehdi_amini, Prazek, george.burgess.iv, sanjoy.google, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66376

llvm-svn: 369548
</content>
</entry>
<entry>
<title>[SimpleLoopUnswitch] Don't consider unswitching `switch` insructions with one unique successor</title>
<updated>2019-07-10T10:25:22+00:00</updated>
<author>
<name>Serguei Katkov</name>
<email>serguei.katkov@azul.com</email>
</author>
<published>2019-07-10T10:25:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d000f8b69f721c8d9bfcf90dd8df9a25bbf3b2e5'/>
<id>urn:sha1:d000f8b69f721c8d9bfcf90dd8df9a25bbf3b2e5</id>
<content type='text'>
Only instructions with two or more unique successors should be considered for unswitching.

Patch Author: Daniil Suchkov.

Reviewers: reames, asbirlea, skatkov
Reviewed By: skatkov
Subscribers: hiraditya, llvm-commits
Differential Revision: https://reviews.llvm.org/D64404

llvm-svn: 365611
</content>
</entry>
<entry>
<title>[SimpleLoopUnswitch] Add a test case exposing a bug</title>
<updated>2019-07-10T08:25:48+00:00</updated>
<author>
<name>Serguei Katkov</name>
<email>serguei.katkov@azul.com</email>
</author>
<published>2019-07-10T08:25:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=97f19f3a4970b33c9ff2bc210ea4634a8bf0988e'/>
<id>urn:sha1:97f19f3a4970b33c9ff2bc210ea4634a8bf0988e</id>
<content type='text'>
This test exposes a bug in SimpleLoopUnswitch that leads to a crash on
assert(SuccessorsCount &gt; 1 &amp;&amp; "Cannot unswitch a condition without multiple distinct successors!");
when SimpleLoopUnswitch considers unswitching of a loop by a switch with one successor.

Fix will be submitted soon.

Patch Author: Daniil Suchkov.

Reviewers: reames, asbirlea, skatkov
Reviewed By: skatkov
Subscribers: zzheng, llvm-commits
Differential Revision: https://reviews.llvm.org/D64403

llvm-svn: 365600
</content>
</entry>
<entry>
<title>[SimpleLoopUnswitch] Implement handling of prof branch_weights metadata for SwitchInst</title>
<updated>2019-07-01T08:43:53+00:00</updated>
<author>
<name>Yevgeny Rouban</name>
<email>yevgeny.rouban@azul.com</email>
</author>
<published>2019-07-01T08:43:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=d4097b4a93a2bb303b9131d8293992bc6b63b2f9'/>
<id>urn:sha1:d4097b4a93a2bb303b9131d8293992bc6b63b2f9</id>
<content type='text'>
Differential Revision: https://reviews.llvm.org/D60606

llvm-svn: 364734
</content>
</entry>
<entry>
<title>[NewPM] Add Option handling for SimpleLoopUnswitch</title>
<updated>2019-04-22T10:35:07+00:00</updated>
<author>
<name>Serguei Katkov</name>
<email>serguei.katkov@azul.com</email>
</author>
<published>2019-04-22T10:35:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=40a3b96196428aac54deb21c36f975bd2889b514'/>
<id>urn:sha1:40a3b96196428aac54deb21c36f975bd2889b514</id>
<content type='text'>
This patch enables passing options to SimpleLoopUnswitch via the passes pipeline.

Reviewers: chandlerc, fedor.sergeev, leonardchan, philip.pfaffe
Reviewed By: fedor.sergeev
Subscribers: llvm-commits
Differential Revision: https://reviews.llvm.org/D60676

llvm-svn: 358880
</content>
</entry>
<entry>
<title>Revert "Temporarily Revert "Add basic loop fusion pass.""</title>
<updated>2019-04-17T04:52:47+00:00</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@gmail.com</email>
</author>
<published>2019-04-17T04:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=cee313d288a4faf0355d76fb6e0e927e211d08a5'/>
<id>urn:sha1:cee313d288a4faf0355d76fb6e0e927e211d08a5</id>
<content type='text'>
The reversion apparently deleted the test/Transforms directory.

Will be re-reverting again.

llvm-svn: 358552
</content>
</entry>
<entry>
<title>Temporarily Revert "Add basic loop fusion pass."</title>
<updated>2019-04-17T02:12:23+00:00</updated>
<author>
<name>Eric Christopher</name>
<email>echristo@gmail.com</email>
</author>
<published>2019-04-17T02:12:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a86343512845c9c1fdbac865fea88aa5fce7142a'/>
<id>urn:sha1:a86343512845c9c1fdbac865fea88aa5fce7142a</id>
<content type='text'>
As it's causing some bot failures (and per request from kbarton).

This reverts commit r358543/ab70da07286e618016e78247e4a24fcb84077fda.

llvm-svn: 358546
</content>
</entry>
<entry>
<title>Update MemorySSA in SimpleLoopUnswitch.</title>
<updated>2018-12-04T14:23:37+00:00</updated>
<author>
<name>Alina Sbirlea</name>
<email>asbirlea@google.com</email>
</author>
<published>2018-12-04T14:23:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/bcm5719-llvm/commit/?id=a2eebb828e02be7ca8e0c1c53e1ad6548aa1049f'/>
<id>urn:sha1:a2eebb828e02be7ca8e0c1c53e1ad6548aa1049f</id>
<content type='text'>
Summary:
Teach SimpleLoopUnswitch to preserve MemorySSA.

Subscribers: sanjoy, jlebar, Prazek, george.burgess.iv, llvm-commits

Differential Revision: https://reviews.llvm.org/D47022

llvm-svn: 348263
</content>
</entry>
</feed>
