<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Transforms/Utils/InjectTLIMappings.cpp, 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>[TLI] Use AArch64 vector calling convention for ArmPL routines (#135790)</title>
<updated>2025-04-17T07:44:47+00:00</updated>
<author>
<name>David Sherwood</name>
<email>david.sherwood@arm.com</email>
</author>
<published>2025-04-17T07:44:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1cf9acdb750612985674a0349ed607768e1edc6d'/>
<id>1cf9acdb750612985674a0349ed607768e1edc6d</id>
<content type='text'>
Some ArmPL vector math routines that operate on fixed-width
vector types obey the aarch64_vector_pcs calling convention,
e.g. armpl_vsinq_f64, etc. This patch adds support for
functions in the TLI to specify an optional calling
convention to be added to the declared function. Once this
patch lands I intend to follow up with a vectoriser patch
that adds this optional calling convention when invoking the
vector library variant from the loop vectoriser.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some ArmPL vector math routines that operate on fixed-width
vector types obey the aarch64_vector_pcs calling convention,
e.g. armpl_vsinq_f64, etc. This patch adds support for
functions in the TLI to specify an optional calling
convention to be added to the declared function. Once this
patch lands I intend to follow up with a vectoriser patch
that adds this optional calling convention when invoking the
vector library variant from the loop vectoriser.</pre>
</div>
</content>
</entry>
<entry>
<title>[Transforms] Use range constructors of *Set (NFC) (#133203)</title>
<updated>2025-03-27T14:51:58+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-03-27T14:51:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cde58bfc16d46417e55bb4d7614631ac84b72cc0'/>
<id>cde58bfc16d46417e55bb4d7614631ac84b72cc0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Utils] Remove unused includes (NFC) (#114748)</title>
<updated>2024-11-05T03:51:25+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-11-05T03:51:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=013f4a46d1978e370f940df3cbd04fb0399a04fe'/>
<id>013f4a46d1978e370f940df3cbd04fb0399a04fe</id>
<content type='text'>
Identified with misc-include-cleaner.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with misc-include-cleaner.</pre>
</div>
</content>
</entry>
<entry>
<title>[VFABI] Move the Vector ABI demangling utility to LLVMCore. (#77513)</title>
<updated>2024-01-17T09:55:30+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2024-01-17T09:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=92289db82fb2334593e21995bb140b4bc95926e3'/>
<id>92289db82fb2334593e21995bb140b4bc95926e3</id>
<content type='text'>
This fixes #71892 allowing us to check magled names in the IR verifier.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes #71892 allowing us to check magled names in the IR verifier.</pre>
</div>
</content>
</entry>
<entry>
<title>[TLI] Use the VFABI demangling when declaring vector variants. (#76753)</title>
<updated>2024-01-03T14:28:52+00:00</updated>
<author>
<name>Alexandros Lamprineas</name>
<email>alexandros.lamprineas@arm.com</email>
</author>
<published>2024-01-03T14:28:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ec7a231b30e5dcbaa2fe20ba9a793bffed4ea2cf'/>
<id>ec7a231b30e5dcbaa2fe20ba9a793bffed4ea2cf</id>
<content type='text'>
When creating a declaration for a vector variant, in order to determine
the argument types we need to consult the VFABI demangler. This will
allow us to add TLI mappings with linear arguments (see #76060).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When creating a declaration for a vector variant, in order to determine
the argument types we need to consult the VFABI demangler. This will
allow us to add TLI mappings with linear arguments (see #76060).</pre>
</div>
</content>
</entry>
<entry>
<title>[TLI] Added a guard for empty vector function name. (#68100)</title>
<updated>2023-10-03T14:11:31+00:00</updated>
<author>
<name>JolantaJensen</name>
<email>jolanta.jensen@arm.com</email>
</author>
<published>2023-10-03T14:11:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9546b5d8eec67e590694b4c62b8681cddd21662a'/>
<id>9546b5d8eec67e590694b4c62b8681cddd21662a</id>
<content type='text'>
A guard for empty vector function name was removed in #66656. This patch
adds the guard back.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A guard for empty vector function name was removed in #66656. This patch
adds the guard back.</pre>
</div>
</content>
</entry>
<entry>
<title>Fix mechanism propagating mangled names for TLI function mappings (#66656)</title>
<updated>2023-10-02T17:58:39+00:00</updated>
<author>
<name>JolantaJensen</name>
<email>107627027+JolantaJensen@users.noreply.github.com</email>
</author>
<published>2023-10-02T17:58:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=01797dad8686a1e7276ccd33f16934d31aa7c98a'/>
<id>01797dad8686a1e7276ccd33f16934d31aa7c98a</id>
<content type='text'>
Currently the mappings from TLI are used to generate the list of
available "scalar to vector" mappings attached to scalar calls as
"vector-function-abi-variant" LLVM IR attribute. Function names from TLI
are wrapped in mangled name following the pattern:
_ZGV&lt;isa&gt;&lt;mask&gt;&lt;vlen&gt;&lt;parameters&gt;_&lt;scalar_name&gt;[(&lt;vector_redirection&gt;)]
The problem is the mangled name uses _LLVM_ as the ISA name which
prevents the compiler to compute vectorization factor for scalable
vectors as it cannot make any decision based on the _LLVM_ ISA. If we
use "s" as the ISA name, the compiler can make decisions based on VFABI
specification where SVE spacific rules are described.

This patch is only a refactoring stage where there is no change to the
compiler's behaviour.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the mappings from TLI are used to generate the list of
available "scalar to vector" mappings attached to scalar calls as
"vector-function-abi-variant" LLVM IR attribute. Function names from TLI
are wrapped in mangled name following the pattern:
_ZGV&lt;isa&gt;&lt;mask&gt;&lt;vlen&gt;&lt;parameters&gt;_&lt;scalar_name&gt;[(&lt;vector_redirection&gt;)]
The problem is the mangled name uses _LLVM_ as the ISA name which
prevents the compiler to compute vectorization factor for scalable
vectors as it cannot make any decision based on the _LLVM_ ISA. If we
use "s" as the ISA name, the compiler can make decisions based on VFABI
specification where SVE spacific rules are described.

This patch is only a refactoring stage where there is no change to the
compiler's behaviour.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove some includes that shouldn't be needed any longer</title>
<updated>2023-05-16T14:10:51+00:00</updated>
<author>
<name>Bjorn Pettersson</name>
<email>bjorn.a.pettersson@ericsson.com</email>
</author>
<published>2023-04-24T08:48:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3ce72cd5f6d584d83d47e54edef5c132a6c3703d'/>
<id>3ce72cd5f6d584d83d47e54edef5c132a6c3703d</id>
<content type='text'>
This remove a bunch of #include statements in Scalar.cpp. I do not
think those should be needed any longer (assuming that they once
upon a time possibly were needed for legacy PM C bindings, but
that is not supported any longer).

Also removing some other #include statements not needed any longer
due to deprecation of legacy PM.

Differential Revision: https://reviews.llvm.org/D149438
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This remove a bunch of #include statements in Scalar.cpp. I do not
think those should be needed any longer (assuming that they once
upon a time possibly were needed for legacy PM C bindings, but
that is not supported any longer).

Also removing some other #include statements not needed any longer
due to deprecation of legacy PM.

Differential Revision: https://reviews.llvm.org/D149438
</pre>
</div>
</content>
</entry>
<entry>
<title>[LegacyPM] Remove InjectTLIMappings and AssumeSimplify passes</title>
<updated>2023-04-25T21:34:45+00:00</updated>
<author>
<name>Arthur Eubanks</name>
<email>aeubanks@google.com</email>
</author>
<published>2023-04-25T21:34:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7be8341f19bfd9baf979ecadef22d1bcaa47b54e'/>
<id>7be8341f19bfd9baf979ecadef22d1bcaa47b54e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Passes] Remove the legacy DemandedBitsWrapperPass</title>
<updated>2023-04-14T16:56:20+00:00</updated>
<author>
<name>Bjorn Pettersson</name>
<email>bjorn.a.pettersson@ericsson.com</email>
</author>
<published>2023-04-13T11:25:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=40c60c025cdcd00409efd2b90084049c24581690'/>
<id>40c60c025cdcd00409efd2b90084049c24581690</id>
<content type='text'>
Last user of DemandedBitsWrapperPass was the BDCE pass. Since
the legacy PM version of BDCE was removed in an earlier commit, this
patch removes the now unused DemandedBitsWrapperPass.

Differential Revision: https://reviews.llvm.org/D148336
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Last user of DemandedBitsWrapperPass was the BDCE pass. Since
the legacy PM version of BDCE was removed in an earlier commit, this
patch removes the now unused DemandedBitsWrapperPass.

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