<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/PowerPC/PPCSubtarget.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>[SelectionDAG] Add empty implementation of SelectionDAGInfo to some targets (#119968)</title>
<updated>2024-12-16T12:13:46+00:00</updated>
<author>
<name>Sergei Barannikov</name>
<email>barannikov88@gmail.com</email>
</author>
<published>2024-12-16T12:13:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=03847f19f2e462a339e1afa1093f253ec8a23765'/>
<id>03847f19f2e462a339e1afa1093f253ec8a23765</id>
<content type='text'>
#119969 adds a couple of new methods to this class, which will need to
be overridden by these targets.

Part of #119709.

Pull Request: https://github.com/llvm/llvm-project/pull/119968
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
#119969 adds a couple of new methods to this class, which will need to
be overridden by these targets.

Part of #119709.

Pull Request: https://github.com/llvm/llvm-project/pull/119968
</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC] Remove unused includes (NFC) (#116163)</title>
<updated>2024-11-14T15:55:18+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-11-14T15:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f71cb9dbb739bb58ce7e52e49fe384ff2ff11687'/>
<id>f71cb9dbb739bb58ce7e52e49fe384ff2ff11687</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>[PowerPC][LLC] Utilize PPC::getNormalizedPPCTargetCPU() to set CPU (#113943)</title>
<updated>2024-11-04T14:40:54+00:00</updated>
<author>
<name>zhijian lin</name>
<email>zhijian@ca.ibm.com</email>
</author>
<published>2024-11-04T14:40:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a51712751c184ebe056718c938d2526693a31564'/>
<id>a51712751c184ebe056718c938d2526693a31564</id>
<content type='text'>
Utilize common API in PPCTargetParser
(https://github.com/llvm/llvm-project/pull/97541) to set default CPU
with same interfaces for LLC.
This will update AIX default CPU to pwr7 and LoP powerppc64 default CPU
to ppc64.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Utilize common API in PPCTargetParser
(https://github.com/llvm/llvm-project/pull/97541) to set default CPU
with same interfaces for LLC.
This will update AIX default CPU to pwr7 and LoP powerppc64 default CPU
to ppc64.</pre>
</div>
</content>
</entry>
<entry>
<title>[ARM][Mips][PowerPC] Remove unnecessary static_cast creating GISel InstructionSelector. NFC</title>
<updated>2024-07-10T17:28:32+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-07-10T17:23:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0df714364a731822590b3da54f33ed0d6ddee873'/>
<id>0df714364a731822590b3da54f33ed0d6ddee873</id>
<content type='text'>
Some targets only pass a TargetMachine &amp; to their subtarget constructor
and require a static_cast to their target-specific TargetMachine subclass
to create *InstructionSelector.

These 3 targets already have the correct TargetMachine subclass
reference so no cast is needed.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some targets only pass a TargetMachine &amp; to their subtarget constructor
and require a static_cast to their target-specific TargetMachine subclass
to create *InstructionSelector.

These 3 targets already have the correct TargetMachine subclass
reference so no cast is needed.
</pre>
</div>
</content>
</entry>
<entry>
<title>[IR] Don't include Module.h in Analysis.h (NFC) (#97023)</title>
<updated>2024-06-28T12:30:47+00:00</updated>
<author>
<name>Nikita Popov</name>
<email>npopov@redhat.com</email>
</author>
<published>2024-06-28T12:30:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4169338e75cdce73d34063532db598c95ee82ae4'/>
<id>4169338e75cdce73d34063532db598c95ee82ae4</id>
<content type='text'>
Replace it with a forward declaration instead. Analysis.h is pulled in
by all passes, but not all passes need to access the module.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace it with a forward declaration instead. Analysis.h is pulled in
by all passes, but not all passes need to access the module.</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Remove target SubRegLiveness flags (#95437)</title>
<updated>2024-06-14T07:51:56+00:00</updated>
<author>
<name>David Green</name>
<email>david.green@arm.com</email>
</author>
<published>2024-06-14T07:51:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=706e1975400b3f30bd406b694bb711a7c7dbe1c4'/>
<id>706e1975400b3f30bd406b694bb711a7c7dbe1c4</id>
<content type='text'>
This removes the uses of target flags to disable subreg liveness,
relying on the `-enable-subreg-liveness` flag instead. The
`-enable-subreg-liveness` flag has been changed to take precedence over
the subtarget if set, and one use of `Subtarget-&gt;enableSubRegLiveness()`
has been changed to `MRI-&gt;subRegLivenessEnabled()` to make sure the
option properly applies.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This removes the uses of target flags to disable subreg liveness,
relying on the `-enable-subreg-liveness` flag instead. The
`-enable-subreg-liveness` flag has been changed to take precedence over
the subtarget if set, and one use of `Subtarget-&gt;enableSubRegLiveness()`
has been changed to `MRI-&gt;subRegLivenessEnabled()` to make sure the
option properly applies.</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC] Tune AIX shared library TLS model at function level (#84132)</title>
<updated>2024-05-09T01:50:36+00:00</updated>
<author>
<name>Felix (Ting Wang)</name>
<email>Ting.Wang.SH@ibm.com</email>
</author>
<published>2024-05-09T01:50:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ea126aebdc9d8205016f355d85dbf1c15f2f4b28'/>
<id>ea126aebdc9d8205016f355d85dbf1c15f2f4b28</id>
<content type='text'>
Under some circumstance (library loaded with the main program), TLS
initial-exec model can be applied to local-dynamic access(es). We
could use some simple heuristic to decide the update at function level:
* If there is equal or less than a number of TLS local-dynamic access(es)
in the function, use TLS initial-exec model. (the threshold which default to
1 is controlled by hidden option)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Under some circumstance (library loaded with the main program), TLS
initial-exec model can be applied to local-dynamic access(es). We
could use some simple heuristic to decide the update at function level:
* If there is equal or less than a number of TLS local-dynamic access(es)
in the function, use TLS initial-exec model. (the threshold which default to
1 is controlled by hidden option)</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC][AIX] Enable aix-small-local-dynamic-tls target attribute (#86641)</title>
<updated>2024-04-12T00:18:01+00:00</updated>
<author>
<name>Felix (Ting Wang)</name>
<email>Ting.Wang.SH@ibm.com</email>
</author>
<published>2024-04-12T00:18:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=09d51a841dcfbc41c3d7f3274b109b5f9fb09bb0'/>
<id>09d51a841dcfbc41c3d7f3274b109b5f9fb09bb0</id>
<content type='text'>
Following the aix-small-local-exec-tls target attribute, this patch adds
a target attribute for an AIX-specific option in llc that informs the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls) when TLS
variables are less than ~32KB in size.

The patch either produces an addi/la with a displacement off of module
handle (return value from .__tls_get_mod) when the address is
calculated, or it produces an addi/la followed by a load/store when the
address is calculated and used for further accesses.

---------

Co-authored-by: Amy Kwan &lt;amy.kwan1@ibm.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Following the aix-small-local-exec-tls target attribute, this patch adds
a target attribute for an AIX-specific option in llc that informs the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls) when TLS
variables are less than ~32KB in size.

The patch either produces an addi/la with a displacement off of module
handle (return value from .__tls_get_mod) when the address is
calculated, or it produces an addi/la followed by a load/store when the
address is calculated and used for further accesses.

---------

Co-authored-by: Amy Kwan &lt;amy.kwan1@ibm.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[AIX] Support per global code model. (#79202)</title>
<updated>2024-03-15T16:52:04+00:00</updated>
<author>
<name>Sean Fertile</name>
<email>sd.fertile@gmail.com</email>
</author>
<published>2024-03-15T16:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2d80505401835ed4c32d0d58f015efddf929c39d'/>
<id>2d80505401835ed4c32d0d58f015efddf929c39d</id>
<content type='text'>
Exploit the per global code model attribute on AIX. On AIX we need to
update both the code sequence used to access the global (either 1 or 2
instructions for small and large code model respectively) and the
storage mapping class that we emit the toc entry.

---------

Co-authored-by: Amy Kwan &lt;akwan0907@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Exploit the per global code model attribute on AIX. On AIX we need to
update both the code sequence used to access the global (either 1 or 2
instructions for small and large code model respectively) and the
storage mapping class that we emit the toc entry.

---------

Co-authored-by: Amy Kwan &lt;akwan0907@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>[AIX][TOC] Fix buildbot failures from commit b4ae8df (#85303)</title>
<updated>2024-03-14T20:26:58+00:00</updated>
<author>
<name>Zaara Syeda</name>
<email>syzaara@ca.ibm.com</email>
</author>
<published>2024-03-14T20:26:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=00ba2a6f1e7bbb6fa6f3d50ad87a4a528af87ef5'/>
<id>00ba2a6f1e7bbb6fa6f3d50ad87a4a528af87ef5</id>
<content type='text'>
The following tests fail when built with Address
and Undefined sanitizers:
CodeGen/PowerPC/basic-toc-data-def.ll
CodeGen/PowerPC/toc-data-large-array2.ll

Subtarget may be null in emitGlobalVariable, for example in the testcase
where we have no functions in the IR. The fix moves this function from
PPCSubtarget to a static helper function. This only fails with
sanitizers because the Subtarget is not used in the member function.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following tests fail when built with Address
and Undefined sanitizers:
CodeGen/PowerPC/basic-toc-data-def.ll
CodeGen/PowerPC/toc-data-large-array2.ll

Subtarget may be null in emitGlobalVariable, for example in the testcase
where we have no functions in the IR. The fix moves this function from
PPCSubtarget to a static helper function. This only fails with
sanitizers because the Subtarget is not used in the member function.</pre>
</div>
</content>
</entry>
</feed>
