<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/Transforms/LoopFusion, branch users/nico/python-2</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>[LoopFusion] Sorting of undominated FusionCandidates crashes</title>
<updated>2023-01-12T04:15:40+00:00</updated>
<author>
<name>Ramkrishnan Narayanan Komala</name>
<email>ramkrishnan.nk@huawei.com</email>
</author>
<published>2023-01-12T04:13:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7f15907acc90284706310843b6a712641b00bf1d'/>
<id>7f15907acc90284706310843b6a712641b00bf1d</id>
<content type='text'>
This patch tries to fix [[ https://github.com/llvm/llvm-project/issues/56263 | issue ]].

If two **FusionCandidates** are in same level of dominator tree then, they will not be dominates each other. But they are control flow equivalent. To sort those FusionCandidates **nonStrictlyPostDominate** check is needed.

Reviewed By: Narutoworld

Differential Revision: https://reviews.llvm.org/D139993
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch tries to fix [[ https://github.com/llvm/llvm-project/issues/56263 | issue ]].

If two **FusionCandidates** are in same level of dominator tree then, they will not be dominates each other. But they are control flow equivalent. To sort those FusionCandidates **nonStrictlyPostDominate** check is needed.

Reviewed By: Narutoworld

Differential Revision: https://reviews.llvm.org/D139993
</pre>
</div>
</content>
</entry>
<entry>
<title>[Transforms] Convert some tests to opaque pointers (NFC)</title>
<updated>2023-01-05T11:43:45+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2023-01-05T11:35:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=055fb7795aa219a3d274d280ec9129784f169f56'/>
<id>055fb7795aa219a3d274d280ec9129784f169f56</id>
<content type='text'>
These are all tests where conversion worked automatically, and
required no manual fixup.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These are all tests where conversion worked automatically, and
required no manual fixup.
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopFusion] Exit early if one of fusion candidate has guarded branch but the another has not</title>
<updated>2023-01-03T15:18:58+00:00</updated>
<author>
<name>luxufan</name>
<email>luxufan@iscas.ac.cn</email>
</author>
<published>2023-01-03T15:05:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aca7441c7ae2c8a0518764265ef6a08449165ced'/>
<id>aca7441c7ae2c8a0518764265ef6a08449165ced</id>
<content type='text'>
Fixes: https://github.com/llvm/llvm-project/issues/59024

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D138269
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes: https://github.com/llvm/llvm-project/issues/59024

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D138269
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopFusion][NFC] Regenerate test checks</title>
<updated>2022-12-15T05:57:57+00:00</updated>
<author>
<name>luxufan</name>
<email>luxufan@iscas.ac.cn</email>
</author>
<published>2022-12-15T05:52:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=eb5f4a7b47496e813a2bd3fc132e96ffe1790ae8'/>
<id>eb5f4a7b47496e813a2bd3fc132e96ffe1790ae8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopFusion] sink second loop PHIs</title>
<updated>2022-12-13T18:13:39+00:00</updated>
<author>
<name>Joshua Cao</name>
<email>cao.joshua@yahoo.com</email>
</author>
<published>2022-12-13T17:37:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5004320590aed2e27140fb458ebd67b68af05a91'/>
<id>5004320590aed2e27140fb458ebd67b68af05a91</id>
<content type='text'>
Fixes https://github.com/llvm/llvm-project/issues/59023

PHI nodes that are in the second loop only have the first loop as its
predecessor. These PHI nodes should be sunk to the end of the fused
loop. If the second loop uses the PHI, then the loops cannot be fused.

I don't think this should happen in typical compilation workflows.
The PHI will be in a dedicated exit block of the first loop following
LCSSA transformations.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D139812
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes https://github.com/llvm/llvm-project/issues/59023

PHI nodes that are in the second loop only have the first loop as its
predecessor. These PHI nodes should be sunk to the end of the fused
loop. If the second loop uses the PHI, then the loops cannot be fused.

I don't think this should happen in typical compilation workflows.
The PHI will be in a dedicated exit block of the first loop following
LCSSA transformations.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D139812
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Update tests by update_test_checks.py"</title>
<updated>2022-12-13T15:27:00+00:00</updated>
<author>
<name>Nico Weber</name>
<email>thakis@chromium.org</email>
</author>
<published>2022-12-13T15:27:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=abc388ac66c58191a40e3ace04ea628268447d96'/>
<id>abc388ac66c58191a40e3ace04ea628268447d96</id>
<content type='text'>
This reverts commit 3a8f4649a0a4b7b9cab93d73c0651a14b0fd1c34.
Broke check-llvm everywhere, see e.g.:
* https://lab.llvm.org/buildbot/#/builders/139/builds/32724
* http://45.33.8.238/linux/94174/step_12.txt
* http://45.33.8.238/macm1/50831/step_11.txt
* http://45.33.8.238/win/71928/step_11.txt
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 3a8f4649a0a4b7b9cab93d73c0651a14b0fd1c34.
Broke check-llvm everywhere, see e.g.:
* https://lab.llvm.org/buildbot/#/builders/139/builds/32724
* http://45.33.8.238/linux/94174/step_12.txt
* http://45.33.8.238/macm1/50831/step_11.txt
* http://45.33.8.238/win/71928/step_11.txt
</pre>
</div>
</content>
</entry>
<entry>
<title>Update tests by update_test_checks.py</title>
<updated>2022-12-13T14:53:35+00:00</updated>
<author>
<name>luxufan</name>
<email>luxufan@iscas.ac.cn</email>
</author>
<published>2022-12-13T14:53:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3a8f4649a0a4b7b9cab93d73c0651a14b0fd1c34'/>
<id>3a8f4649a0a4b7b9cab93d73c0651a14b0fd1c34</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Port all LoopFusion tests to `-passes=` syntax</title>
<updated>2022-12-07T23:38:46+00:00</updated>
<author>
<name>Roman Lebedev</name>
<email>lebedev.ri@gmail.com</email>
</author>
<published>2022-12-07T23:27:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=27291c1e70aa0e34e297ec4913a60274f32a199f'/>
<id>27291c1e70aa0e34e297ec4913a60274f32a199f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopFuse] Ensure inner loops are in loop simplified form under new PM</title>
<updated>2022-11-11T20:55:59+00:00</updated>
<author>
<name>Mengxuan Cai</name>
<email>mengxuan.cai@huawei.com</email>
</author>
<published>2022-11-11T17:42:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ec210f394233798c531b52b43ac3ff4354339bb0'/>
<id>ec210f394233798c531b52b43ac3ff4354339bb0</id>
<content type='text'>
LoopInfo doesn't give all loops in a loop nest, it gives top level loops
only. While isLoopSimplifyForm() only checkes for the outter most loop of a
loop nest. As a result, inner loops that are not in simplied form can
not be simplified with the original code.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D137672
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
LoopInfo doesn't give all loops in a loop nest, it gives top level loops
only. While isLoopSimplifyForm() only checkes for the outter most loop of a
loop nest. As a result, inner loops that are not in simplied form can
not be simplified with the original code.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D137672
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopFuse] Ensure loops are in loop simplified form under new PM</title>
<updated>2022-10-31T15:46:28+00:00</updated>
<author>
<name>Mengxuan Cai</name>
<email>mengxuan.cai@huawei.com</email>
</author>
<published>2022-10-31T15:45:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=eda3c93486ca113f63ccf8f28ca9c0ea90c09386'/>
<id>eda3c93486ca113f63ccf8f28ca9c0ea90c09386</id>
<content type='text'>
Loop Fusion (Function Pass) requires loops in simplified form. With
legacy-pm, loop-simplify pass is added as a dependency for loop-fusion.
But the new pass manager does not always ensure this format. This patch
tries to invoke simplifyLoop() on loops that are not in simplified form
only for new PM.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D136781
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Loop Fusion (Function Pass) requires loops in simplified form. With
legacy-pm, loop-simplify pass is added as a dependency for loop-fusion.
But the new pass manager does not always ensure this format. This patch
tries to invoke simplifyLoop() on loops that are not in simplified form
only for new PM.

Reviewed By: aeubanks

Differential Revision: https://reviews.llvm.org/D136781
</pre>
</div>
</content>
</entry>
</feed>
