<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/test/Transforms/LoopVersioningLICM/loopversioningLICM2.ll, 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>[LoopVersioningLICM] Only mark pointers with generated checks as noalias (#135168)</title>
<updated>2025-05-12T09:15:22+00:00</updated>
<author>
<name>John Brawn</name>
<email>john.brawn@arm.com</email>
</author>
<published>2025-05-12T09:15:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7d867c6d094cb1b7d98c5aab983558254fbd0fdc'/>
<id>7d867c6d094cb1b7d98c5aab983558254fbd0fdc</id>
<content type='text'>
Currently when we version a loop all loads and stores have the noalias
metadata added to them. If there were some pointers that could not be
analysed, and thus we could not generate runtime aliasing checks for,
then we should not mark loads and stores using these pointers as
noalias.

This is done by getting rid of setNoAliasToLoop and instead using
annotateLoopWithNoAlias, as that already correctly handles partial alias
information. This does result in slightly different aliasing metadata
being generated, but it looks like it's more precise.

Currently this doesn't result in any change to the transforms that
LoopVersioningLICM does, as LoopAccessAnalysis discards all results if
it couldn't analyse every pointer leading to no loop versioning
happening, but an upcoming patch will change that and we need this first
otherwise we incorrectly mark some pointers as noalias even when they
aren't.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently when we version a loop all loads and stores have the noalias
metadata added to them. If there were some pointers that could not be
analysed, and thus we could not generate runtime aliasing checks for,
then we should not mark loads and stores using these pointers as
noalias.

This is done by getting rid of setNoAliasToLoop and instead using
annotateLoopWithNoAlias, as that already correctly handles partial alias
information. This does result in slightly different aliasing metadata
being generated, but it looks like it's more precise.

Currently this doesn't result in any change to the transforms that
LoopVersioningLICM does, as LoopAccessAnalysis discards all results if
it couldn't analyse every pointer leading to no loop versioning
happening, but an upcoming patch will change that and we need this first
otherwise we incorrectly mark some pointers as noalias even when they
aren't.</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopVersioningLICM] Convert tests to opaque pointers (NFC)</title>
<updated>2023-01-04T16:17:17+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2023-01-04T16:13:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=970fcba0740852511f7c2c7d28259592fd3e7729'/>
<id>970fcba0740852511f7c2c7d28259592fd3e7729</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][1/n] Remove -enable-new-pm=0 flags from lit tests</title>
<updated>2022-09-19T16:57:37+00:00</updated>
<author>
<name>Sebastian Peryt</name>
<email>sebastian.peryt@intel.com</email>
</author>
<published>2022-09-19T16:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=99c9b37d115390e24e6f9b877244466b9856552c'/>
<id>99c9b37d115390e24e6f9b877244466b9856552c</id>
<content type='text'>
This is the first patch in a series intended for removing flag
-enable-new-pm=0 from lit tests. This is part of a bigger
effort of completely removing legacy code related to legacy
pass manager in favor of currently default new pass manager.

In this patch flag has been removed only from tests where no significant
change has been required because checks has been duplicated for
both PMs.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D134150
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the first patch in a series intended for removing flag
-enable-new-pm=0 from lit tests. This is part of a bigger
effort of completely removing legacy code related to legacy
pass manager in favor of currently default new pass manager.

In this patch flag has been removed only from tests where no significant
change has been required because checks has been duplicated for
both PMs.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D134150
</pre>
</div>
</content>
</entry>
<entry>
<title>[LICM] Remove AST-based implementation</title>
<updated>2021-08-18T18:21:53+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>nikita.ppv@gmail.com</email>
</author>
<published>2021-08-17T19:31:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3dd8c9176be9515dc722b43d9ffb048b32ff5015'/>
<id>3dd8c9176be9515dc722b43d9ffb048b32ff5015</id>
<content type='text'>
MSSA-based LICM has been enabled by default for a few years now.
This drops the old AST-based implementation. Using loop(licm) will
result in a fatal error, the use of loop-mssa(licm) is required
(or just licm, which defaults to loop-mssa).

Note that the core canSinkOrHoistInst() logic has to retain AST
support for now, because it is shared with LoopSink.

Differential Revision: https://reviews.llvm.org/D108244
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MSSA-based LICM has been enabled by default for a few years now.
This drops the old AST-based implementation. Using loop(licm) will
result in a fatal error, the use of loop-mssa(licm) is required
(or just licm, which defaults to loop-mssa).

Note that the core canSinkOrHoistInst() logic has to retain AST
support for now, because it is shared with LoopSink.

Differential Revision: https://reviews.llvm.org/D108244
</pre>
</div>
</content>
</entry>
<entry>
<title>[LoopUtils] Fix incorrect RT check bounds of loop-invariant mem accesses</title>
<updated>2021-07-19T11:38:24+00:00</updated>
<author>
<name>Mindong Chen</name>
<email>chenmindong1@huawei.com</email>
</author>
<published>2021-07-19T11:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e908e063d1f953984fff14636b1c1ad96de8d500'/>
<id>e908e063d1f953984fff14636b1c1ad96de8d500</id>
<content type='text'>
This fixes the lower and upper bound calculation of a
RuntimeCheckingPtrGroup when it has more than one loop
invariant pointers. Resolves PR50686.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D104148
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes the lower and upper bound calculation of a
RuntimeCheckingPtrGroup when it has more than one loop
invariant pointers. Resolves PR50686.

Reviewed By: fhahn

Differential Revision: https://reviews.llvm.org/D104148
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Update tests that got missed in adee485adf84ae8a.</title>
<updated>2021-06-23T09:29:58+00:00</updated>
<author>
<name>Florian Hahn</name>
<email>flo@fhahn.com</email>
</author>
<published>2021-06-23T09:29:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=aa58fdb3960bf1ea25c2c088fba96700cb7e7071'/>
<id>aa58fdb3960bf1ea25c2c088fba96700cb7e7071</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM][opt] Run the "default" AA pipeline by default</title>
<updated>2021-01-22T05:08:54+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2021-01-21T00:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6699029b67bf0f5389896f9f929a344b64cfd9c7'/>
<id>6699029b67bf0f5389896f9f929a344b64cfd9c7</id>
<content type='text'>
We tend to assume that the AA pipeline is by default the default AA
pipeline and it's confusing when it's empty instead.

PR48779

Initially reverted due to BasicAA running analyses in an unspecified
order (multiple function calls as parameters), fixed by fetching
analyses before the call to construct BasicAA.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D95117
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We tend to assume that the AA pipeline is by default the default AA
pipeline and it's confusing when it's empty instead.

PR48779

Initially reverted due to BasicAA running analyses in an unspecified
order (multiple function calls as parameters), fixed by fetching
analyses before the call to construct BasicAA.

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D95117
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[NewPM][opt] Run the "default" AA pipeline by default"</title>
<updated>2021-01-22T04:16:34+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2021-01-22T04:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ba9b4ea4eeaef039e80df10695a11e6ed35d415a'/>
<id>ba9b4ea4eeaef039e80df10695a11e6ed35d415a</id>
<content type='text'>
This reverts commit be611431cd1f5c826a55b531db92a63e84323866.

Other/new-pm-lto-defaults.ll failing
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit be611431cd1f5c826a55b531db92a63e84323866.

Other/new-pm-lto-defaults.ll failing
</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM][opt] Run the "default" AA pipeline by default</title>
<updated>2021-01-22T03:46:38+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2021-01-21T00:53:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=be611431cd1f5c826a55b531db92a63e84323866'/>
<id>be611431cd1f5c826a55b531db92a63e84323866</id>
<content type='text'>
We tend to assume that the AA pipeline is by default the default AA
pipeline and it's confusing when it's empty instead.

PR48779

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D95117
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We tend to assume that the AA pipeline is by default the default AA
pipeline and it's confusing when it's empty instead.

PR48779

Reviewed By: asbirlea

Differential Revision: https://reviews.llvm.org/D95117
</pre>
</div>
</content>
</entry>
<entry>
<title>[test] Fix Transforms/LoopVersioningLICM under NPM</title>
<updated>2020-12-08T05:54:38+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2020-12-08T05:54:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f4f81031152b7554185a259abc98932add6b484b'/>
<id>f4f81031152b7554185a259abc98932add6b484b</id>
<content type='text'>
There were already both legacy and new PM RUN lines.
Also make the NPM RUN line actually match the legacy PM RUN line.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There were already both legacy and new PM RUN lines.
Also make the NPM RUN line actually match the legacy PM RUN line.
</pre>
</div>
</content>
</entry>
</feed>
