<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/ScalarizeMaskedMemIntrin.cpp, branch main</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>[ScalarizeMaskedMemIntrinsic] Move from CodeGen into Transforms</title>
<updated>2020-12-08T17:25:58+00:00</updated>
<author>
<name>Anna Thomas</name>
<email>anna@azul.com</email>
</author>
<published>2020-12-02T20:07:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=09f2f9605fbaff2b72c586d76256c9e6e312a0f3'/>
<id>09f2f9605fbaff2b72c586d76256c9e6e312a0f3</id>
<content type='text'>
ScalarizeMaskedMemIntrinsic is currently a codeGen level pass. The pass
is actually operating on IR level and does not use any code gen specific
passes.  It is useful to move it into transforms directory so that it
can be more widely used as a mid-level transform as well (apart from
usage in codegen pipeline).
In particular, we have a usecase downstream where we would like to use
this pass in our mid-level pipeline which operates on IR level.

The next change will be to add support for new PM.

Reviewers: craig.topper, apilipenko, skatkov
Reviewed-By: skatkov
Differential Revision: https://reviews.llvm.org/D92407
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ScalarizeMaskedMemIntrinsic is currently a codeGen level pass. The pass
is actually operating on IR level and does not use any code gen specific
passes.  It is useful to move it into transforms directory so that it
can be more widely used as a mid-level transform as well (apart from
usage in codegen pipeline).
In particular, we have a usecase downstream where we would like to use
this pass in our mid-level pipeline which operates on IR level.

The next change will be to add support for new PM.

Reviewers: craig.topper, apilipenko, skatkov
Reviewed-By: skatkov
Differential Revision: https://reviews.llvm.org/D92407
</pre>
</div>
</content>
</entry>
<entry>
<title>[ScalarizeMaskedMemIntrin] NFC: Pass args by reference</title>
<updated>2020-12-03T19:04:21+00:00</updated>
<author>
<name>Anna Thomas</name>
<email>anna@azul.com</email>
</author>
<published>2020-12-03T19:02:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fb2e109d4520df0872babe4ea715c43ad16a7cd5'/>
<id>fb2e109d4520df0872babe4ea715c43ad16a7cd5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ScalarizeMaskedMemIntrin] NFC: Convert member functions to static</title>
<updated>2020-12-03T16:46:38+00:00</updated>
<author>
<name>Anna Thomas</name>
<email>anna@azul.com</email>
</author>
<published>2020-12-03T16:43:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f86ec1e1fc4619d4a3974ab849ad362d6f6906eb'/>
<id>f86ec1e1fc4619d4a3974ab849ad362d6f6906eb</id>
<content type='text'>
This will make it easier to add new PM support once the pass is moved
into transforms (D92407).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This will make it easier to add new PM support once the pass is moved
into transforms (D92407).
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm][CodeGen] Do not scalarize `llvm.masked.[gather|scatter]` operating on scalable vectors.</title>
<updated>2020-09-16T16:00:28+00:00</updated>
<author>
<name>Francesco Petrogalli</name>
<email>francesco.petrogalli@arm.com</email>
</author>
<published>2020-09-08T08:08:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=15e9a6c2118fa3db2c80043e6679da5dcc72b3a7'/>
<id>15e9a6c2118fa3db2c80043e6679da5dcc72b3a7</id>
<content type='text'>
This patch prevents the `llvm.masked.gather` and `llvm.masked.scatter` intrinsics to be scalarized when invoked on scalable vectors.

The change in `Function.cpp` is needed to prevent the warning that is raised when `getNumElements` is used in place of `getElementCount` on `VectorType` instances. The tests guards for regressions on this change.

The tests makes sure that calls to `llvm.masked.[gather|scatter]` are still scalarized when:

  # the intrinsics are operating on fixed size vectors, and
  # the compiler is not targeting fixed length SVE code generation.

Reviewed By: efriedma, sdesmalen

Differential Revision: https://reviews.llvm.org/D86249
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch prevents the `llvm.masked.gather` and `llvm.masked.scatter` intrinsics to be scalarized when invoked on scalable vectors.

The change in `Function.cpp` is needed to prevent the warning that is raised when `getNumElements` is used in place of `getElementCount` on `VectorType` instances. The tests guards for regressions on this change.

The tests makes sure that calls to `llvm.masked.[gather|scatter]` are still scalarized when:

  # the intrinsics are operating on fixed size vectors, and
  # the compiler is not targeting fixed length SVE code generation.

Reviewed By: efriedma, sdesmalen

Differential Revision: https://reviews.llvm.org/D86249
</pre>
</div>
</content>
</entry>
<entry>
<title>[ScalarizeMaskedMemIntrin] Scalarize constant mask expandload as shuffle(build_vector,pass_through)</title>
<updated>2020-08-10T10:05:57+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2020-08-10T10:05:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c0c3b9a25feec84e739cc3a2b30e1ac336648799'/>
<id>c0c3b9a25feec84e739cc3a2b30e1ac336648799</id>
<content type='text'>
As noticed on D66004, scalarization of an expandload with a constant mask as a chain of irregular loads+inserts makes it tricky to optimize before lowering, resulting in difficulties in merging loads etc.

This patch instead scalarizes the expansion to a build_vector(load0, load1, undef, load2,....) style pattern and then performs a blend shuffle with the pass through vector. This allows us to more easily make use of all the build_vector combines, merging of consecutive loads etc.

Differential Revision: https://reviews.llvm.org/D85416
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As noticed on D66004, scalarization of an expandload with a constant mask as a chain of irregular loads+inserts makes it tricky to optimize before lowering, resulting in difficulties in merging loads etc.

This patch instead scalarizes the expansion to a build_vector(load0, load1, undef, load2,....) style pattern and then performs a blend shuffle with the pass through vector. This allows us to more easily make use of all the build_vector combines, merging of consecutive loads etc.

Differential Revision: https://reviews.llvm.org/D85416
</pre>
</div>
</content>
</entry>
<entry>
<title>[SVE] Remove calls to VectorType::getNumElements from CodeGen</title>
<updated>2020-07-09T19:43:36+00:00</updated>
<author>
<name>Christopher Tetreault</name>
<email>ctetreau@quicinc.com</email>
</author>
<published>2020-07-09T18:51:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ff5b9a7b3b2736db02c6550bb4eae84ae65e294c'/>
<id>ff5b9a7b3b2736db02c6550bb4eae84ae65e294c</id>
<content type='text'>
Reviewers: efriedma, fpetrogalli, sdesmalen, RKSimon, arsenm

Reviewed By: RKSimon

Subscribers: wdng, tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82210
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewers: efriedma, fpetrogalli, sdesmalen, RKSimon, arsenm

Reviewed By: RKSimon

Subscribers: wdng, tschuett, hiraditya, rkruppe, psnobl, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D82210
</pre>
</div>
</content>
</entry>
<entry>
<title>[Alignment][NFC] Use proper getter to retrieve alignment from ConstantInt and ConstantSDNode</title>
<updated>2020-07-03T08:06:43+00:00</updated>
<author>
<name>Guillaume Chatelet</name>
<email>gchatelet@google.com</email>
</author>
<published>2020-07-03T08:06:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=87e2751cf07cc570200d8d356d7f35fee2807779'/>
<id>87e2751cf07cc570200d8d356d7f35fee2807779</id>
<content type='text'>
This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D83082
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Differential Revision: https://reviews.llvm.org/D83082
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC] Replace MaybeAlign with Align in TargetTransformInfo.</title>
<updated>2020-05-19T02:25:49+00:00</updated>
<author>
<name>Eli Friedman</name>
<email>efriedma@quicinc.com</email>
</author>
<published>2020-05-19T02:16:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=27b4e6931d0f2f16293e6abface7da25fb731e14'/>
<id>27b4e6931d0f2f16293e6abface7da25fb731e14</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Clean up usages of asserting vector getters in Type</title>
<updated>2020-04-10T21:53:43+00:00</updated>
<author>
<name>Christopher Tetreault</name>
<email>ctetreau@quicinc.com</email>
</author>
<published>2020-04-10T21:23:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=889f6606ed54878bfcbcc6431d7eae59b05923bf'/>
<id>889f6606ed54878bfcbcc6431d7eae59b05923bf</id>
<content type='text'>
Summary:
Remove usages of asserting vector getters in Type in preparation for the
VectorType refactor. The existence of these functions complicates the
refactor while adding little value.

Reviewers: stoklund, sdesmalen, efriedma

Reviewed By: sdesmalen

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77272
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
Remove usages of asserting vector getters in Type in preparation for the
VectorType refactor. The existence of these functions complicates the
refactor while adding little value.

Reviewers: stoklund, sdesmalen, efriedma

Reviewed By: sdesmalen

Subscribers: hiraditya, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D77272
</pre>
</div>
</content>
</entry>
<entry>
<title>[Alignment][NFC] Use Align with CreateAlignedStore</title>
<updated>2020-01-23T16:34:32+00:00</updated>
<author>
<name>Guillaume Chatelet</name>
<email>gchatelet@google.com</email>
</author>
<published>2020-01-23T15:18:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=59f95222d4c5e997342b0514984823a99a16d44b'/>
<id>59f95222d4c5e997342b0514984823a99a16d44b</id>
<content type='text'>
Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet, bollu

Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, cfe-commits, llvm-commits

Tags: #clang, #llvm

Differential Revision: https://reviews.llvm.org/D73274
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Summary:
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790

Reviewers: courbet, bollu

Subscribers: arsenm, jvesely, nhaehnle, hiraditya, kerbowa, cfe-commits, llvm-commits

Tags: #clang, #llvm

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