<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/PowerPC/PPCFrameLowering.h, 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>[llvm] Consistently respect `naked` fn attribute in `TargetFrameLowering::hasFP()` (#106014)</title>
<updated>2024-10-18T05:35:42+00:00</updated>
<author>
<name>Alex Rønne Petersen</name>
<email>alex@alexrp.com</email>
</author>
<published>2024-10-18T05:35:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ad4a582fd938c933e784f0052bd773676b37b690'/>
<id>ad4a582fd938c933e784f0052bd773676b37b690</id>
<content type='text'>
Some targets (e.g. PPC and Hexagon) already did this. I think it's best
to do this consistently so that frontend authors don't run into
inconsistent results when they emit `naked` functions. For example, in
Zig, we had to change our emit code to also set `frame-pointer=none` to
get reliable results across targets.

Note: I don't have commit access.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some targets (e.g. PPC and Hexagon) already did this. I think it's best
to do this consistently so that frontend authors don't run into
inconsistent results when they emit `naked` functions. For example, in
Zig, we had to change our emit code to also set `frame-pointer=none` to
get reliable results across targets.

Note: I don't have commit access.</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC] Spill non-volatile registers required for traceback table (#71115)</title>
<updated>2024-05-07T20:23:37+00:00</updated>
<author>
<name>Maryam Moghadas</name>
<email>m.moghadas@gmail.com</email>
</author>
<published>2024-05-07T20:23:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9a28814f59e8f52cc63ae3d17023cee8348d9b53'/>
<id>9a28814f59e8f52cc63ae3d17023cee8348d9b53</id>
<content type='text'>
On AIX we need to spill all [rfv]N-[rfv]31 when a function clobbers
[rfv]N so that the traceback table contains accurate information.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
On AIX we need to spill all [rfv]N-[rfv]31 when a function clobbers
[rfv]N so that the traceback table contains accurate information.
</pre>
</div>
</content>
</entry>
<entry>
<title>[PEI][PowerPC] Fix false alarm of stack size limit (#65559)</title>
<updated>2023-09-08T07:16:00+00:00</updated>
<author>
<name>bzEq</name>
<email>lkail@cn.ibm.com</email>
</author>
<published>2023-09-08T07:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d9efcb54c9d4a3068f95b826481ebbee44d236b4'/>
<id>d9efcb54c9d4a3068f95b826481ebbee44d236b4</id>
<content type='text'>
PPC64 allows stack size up to ((2^63)-1) bytes. Currently llc reports
```
warning: stack frame size (4294967568) exceeds limit (4294967295) in function 'main'
```
if the stack allocated is larger than 4G.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
PPC64 allows stack size up to ((2^63)-1) bytes. Currently llc reports
```
warning: stack frame size (4294967568) exceeds limit (4294967295) in function 'main'
```
if the stack allocated is larger than 4G.</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC] Use int64_t to represent stack object offset and frame size</title>
<updated>2021-08-23T02:13:21+00:00</updated>
<author>
<name>Kai Luo</name>
<email>lkail@cn.ibm.com</email>
</author>
<published>2021-08-23T02:02:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7165e6713f9f43816bb8960279c98a5e364416a5'/>
<id>7165e6713f9f43816bb8960279c98a5e364416a5</id>
<content type='text'>
This is the first step to enable PPC64 support huge frame size(&gt;2G). Also fix an assertion error for frame size, i.e.,`int x; !isInt&lt;32&gt;(x);` should be always evaluated false, so the guard code for frame size is impossible to hit.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D107435
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is the first step to enable PPC64 support huge frame size(&gt;2G). Also fix an assertion error for frame size, i.e.,`int x; !isInt&lt;32&gt;(x);` should be always evaluated false, so the guard code for frame size is impossible to hit.

Reviewed By: jsji

Differential Revision: https://reviews.llvm.org/D107435
</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC] Use mtvsrdd to put callee-saved GPR into VSR</title>
<updated>2021-04-20T08:43:24+00:00</updated>
<author>
<name>Qiu Chaofan</name>
<email>qiucofan@cn.ibm.com</email>
</author>
<published>2021-04-20T08:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2432d80d3b54f67c0e496d6b8c11ceb9f573982d'/>
<id>2432d80d3b54f67c0e496d6b8c11ceb9f573982d</id>
<content type='text'>
This patch exploits mtvsrdd instruction (available in ISA3.0+) to save
two callee-saved GPR registers into a single VSR, making it more
efficient.

Reviewed By: jsji, nemanjai

Differential Revision: https://reviews.llvm.org/D62565
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch exploits mtvsrdd instruction (available in ISA3.0+) to save
two callee-saved GPR registers into a single VSR, making it more
efficient.

Reviewed By: jsji, nemanjai

Differential Revision: https://reviews.llvm.org/D62565
</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC] Implement probing for prologue</title>
<updated>2020-07-04T03:07:08+00:00</updated>
<author>
<name>Kai Luo</name>
<email>lkail@cn.ibm.com</email>
</author>
<published>2020-07-03T05:55:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c352e0885a6b402e5d92cb82f0d0c4e933626b45'/>
<id>c352e0885a6b402e5d92cb82f0d0c4e933626b45</id>
<content type='text'>
This patch is part of supporting `-fstack-clash-protection`. Implemented
probing when emitting prologue.

Differential Revision: https://reviews.llvm.org/D81460
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch is part of supporting `-fstack-clash-protection`. Implemented
probing when emitting prologue.

Differential Revision: https://reviews.llvm.org/D81460
</pre>
</div>
</content>
</entry>
<entry>
<title>CodeGen: Use Register</title>
<updated>2020-05-19T21:56:55+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2020-05-19T17:01:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4dad4914f7d5232639e64ffbc816078184f1462c'/>
<id>4dad4914f7d5232639e64ffbc816078184f1462c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ArrayRef'ize restoreCalleeSavedRegisters. NFCI.</title>
<updated>2020-02-29T08:50:23+00:00</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2020-02-29T08:50:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=186dd63182718f6d98089b86dd039c0dc9198d75'/>
<id>186dd63182718f6d98089b86dd039c0dc9198d75</id>
<content type='text'>
restoreCalleeSavedRegisters can mutate the contents of the
CalleeSavedInfos, so use a MutableArrayRef.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
restoreCalleeSavedRegisters can mutate the contents of the
CalleeSavedInfos, so use a MutableArrayRef.
</pre>
</div>
</content>
</entry>
<entry>
<title>[PowerPC][AIX] Spill/restore the callee-saved condition register bits.</title>
<updated>2020-02-24T16:24:46+00:00</updated>
<author>
<name>Sean Fertile</name>
<email>sd.fertile@gmail.com</email>
</author>
<published>2020-02-24T15:48:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8efc2f5723b0892d0518bdac441c674b7d850ac6'/>
<id>8efc2f5723b0892d0518bdac441c674b7d850ac6</id>
<content type='text'>
Extends the existing support for spilling and restoring the condition
register to the linkage area for 32-bit targets, and enables for AIX.

Differential Revision: https://reviews.llvm.org/D74349
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extends the existing support for spilling and restoring the condition
register to the linkage area for 32-bit targets, and enables for AIX.

Differential Revision: https://reviews.llvm.org/D74349
</pre>
</div>
</content>
</entry>
<entry>
<title>ArrayRef'ize spillCalleeSavedRegisters. NFCI.</title>
<updated>2020-02-08T11:19:23+00:00</updated>
<author>
<name>Benjamin Kramer</name>
<email>benny.kra@googlemail.com</email>
</author>
<published>2020-02-08T11:14:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e4230a9f6c518209cf0d9fdac1764dadd525b513'/>
<id>e4230a9f6c518209cf0d9fdac1764dadd525b513</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
