<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Target/SystemZ/SystemZMachineFunctionInfo.h, 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>[SystemZ] Modernize GPRRegs (NFC)</title>
<updated>2023-08-19T14:56:34+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2023-08-19T14:56:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f10125b1b8d30684b023b5f7d41bb328b8ea78c7'/>
<id>f10125b1b8d30684b023b5f7d41bb328b8ea78c7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ][z/OS] z/OS ADA codegen and emission</title>
<updated>2023-07-05T17:21:52+00:00</updated>
<author>
<name>Yusra Syeda</name>
<email>yusra.syeda@ibm.com</email>
</author>
<published>2023-07-05T17:21:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=163aad6bcbff6ee2935e24945ddef9719142aff0'/>
<id>163aad6bcbff6ee2935e24945ddef9719142aff0</id>
<content type='text'>
This patch adds support for the ADA (associated data area), doing the following:

-Creates the ADA table to handle displacements
-Emits the ADA section in the SystemZAsmPrinter
-Lowers the ADA_ENTRY node into the appropriate load instruction

Differential Revision: https://reviews.llvm.org/D153788
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support for the ADA (associated data area), doing the following:

-Creates the ADA table to handle displacements
-Emits the ADA section in the SystemZAsmPrinter
-Lowers the ADA_ENTRY node into the appropriate load instruction

Differential Revision: https://reviews.llvm.org/D153788
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[SystemZ][z/OS] This patch adds support for the ADA (associated data area), doing the following:"</title>
<updated>2023-06-28T15:18:12+00:00</updated>
<author>
<name>Yusra Syeda</name>
<email>yusra.syeda@ibm.com</email>
</author>
<published>2023-06-28T15:18:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1bfdc534aaae483b37dc3198214fe79459cea760'/>
<id>1bfdc534aaae483b37dc3198214fe79459cea760</id>
<content type='text'>
This reverts commit 9df0f66af5462e23216eae31aedbd4d2f459cc3d.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 9df0f66af5462e23216eae31aedbd4d2f459cc3d.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ][z/OS] This patch adds support for the ADA (associated data area), doing the following:</title>
<updated>2023-06-28T14:13:10+00:00</updated>
<author>
<name>Yusra Syeda</name>
<email>yusra.syeda@ibm.com</email>
</author>
<published>2023-06-28T14:13:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9df0f66af5462e23216eae31aedbd4d2f459cc3d'/>
<id>9df0f66af5462e23216eae31aedbd4d2f459cc3d</id>
<content type='text'>
- Creates the ADA table to handle displacements
- Emits the ADA section in the SystemZAsmPrinter
- Lowers the ADA_ENTRY node into the appropriate load instruction

Differential Revision: https://reviews.llvm.org/D153788
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Creates the ADA table to handle displacements
- Emits the ADA section in the SystemZAsmPrinter
- Lowers the ADA_ENTRY node into the appropriate load instruction

Differential Revision: https://reviews.llvm.org/D153788
</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ][z/OS] Correct value of length/4 of params field in PPA1.</title>
<updated>2023-06-14T17:37:46+00:00</updated>
<author>
<name>Neumann Hon</name>
<email>neumann.hon@ibm.com</email>
</author>
<published>2023-06-14T17:37:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8a7a2da18f9add7fb58fe707e4f0256e3abeb8fa'/>
<id>8a7a2da18f9add7fb58fe707e4f0256e3abeb8fa</id>
<content type='text'>
The Length/4 of Params field in the PPA1 ought to be the length of the parameters for the current function. Currently we are storing the length of the parameter area in the current function's stack frame, which represents the length of the params of the longest callee in the current function.

Differential Revision: https://reviews.llvm.org/D152920

Reviewed By: uweigand
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Length/4 of Params field in the PPA1 ought to be the length of the parameters for the current function. Currently we are storing the length of the parameter area in the current function's stack frame, which represents the length of the params of the longest callee in the current function.

Differential Revision: https://reviews.llvm.org/D152920

Reviewed By: uweigand
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[SystemZ][z/OS] Correct value of length/4 of params field in PPA1."</title>
<updated>2023-06-14T17:34:16+00:00</updated>
<author>
<name>Neumann Hon</name>
<email>neumann.hon@ibm.com</email>
</author>
<published>2023-06-14T17:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=049324ac5e1d04b5711a0a23b50370ce140502e9'/>
<id>049324ac5e1d04b5711a0a23b50370ce140502e9</id>
<content type='text'>
This reverts commit e0f7b0e0f704dc3759925602e474b9e669270fcb.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit e0f7b0e0f704dc3759925602e474b9e669270fcb.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ][z/OS] Correct value of length/4 of params field in PPA1.</title>
<updated>2023-06-14T17:20:45+00:00</updated>
<author>
<name>Neumann Hon</name>
<email>neumann.hon@ibm.com</email>
</author>
<published>2023-06-14T17:20:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e0f7b0e0f704dc3759925602e474b9e669270fcb'/>
<id>e0f7b0e0f704dc3759925602e474b9e669270fcb</id>
<content type='text'>
The Length/4 of Params field in the PPA1 ought to be the length of the parameters for the current function. Currently we are storing the length of the parameter area in the current function's stack frame, which represents the length of the params of the longest callee in the current function.

Differential revision: https://reviews.llvm.org/D119049

Reviewed By: uweigand
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The Length/4 of Params field in the PPA1 ought to be the length of the parameters for the current function. Currently we are storing the length of the parameter area in the current function's stack frame, which represents the length of the params of the longest callee in the current function.

Differential revision: https://reviews.llvm.org/D119049

Reviewed By: uweigand
</pre>
</div>
</content>
</entry>
<entry>
<title>CodeGen: Don't lazily construct MachineFunctionInfo</title>
<updated>2022-12-21T15:49:32+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2020-06-18T13:00:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=69e75ae695d9ef1360a2a1fbefd6e0e0456c3f7b'/>
<id>69e75ae695d9ef1360a2a1fbefd6e0e0456c3f7b</id>
<content type='text'>
This fixes what I consider to be an API flaw I've tripped over
multiple times. The point this is constructed isn't well defined, so
depending on where this is first called, you can conclude different
information based on the MachineFunction. For example, the AMDGPU
implementation inspected the MachineFrameInfo on construction for the
stack objects and if the frame has calls. This kind of worked in
SelectionDAG which visited all allocas up front, but broke in
GlobalISel which hasn't visited any of the IR when arguments are
lowered.

I've run into similar problems before with the MIR parser and trying
to make use of other MachineFunction fields, so I think it's best to
just categorically disallow dependency on the MachineFunction state in
the constructor and to always construct this at the same time as the
MachineFunction itself.

A missing feature I still could use is a way to access an custom
analysis pass on the IR here.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This fixes what I consider to be an API flaw I've tripped over
multiple times. The point this is constructed isn't well defined, so
depending on where this is first called, you can conclude different
information based on the MachineFunction. For example, the AMDGPU
implementation inspected the MachineFrameInfo on construction for the
stack objects and if the frame has calls. This kind of worked in
SelectionDAG which visited all allocas up front, but broke in
GlobalISel which hasn't visited any of the IR when arguments are
lowered.

I've run into similar problems before with the MIR parser and trying
to make use of other MachineFunction fields, so I think it's best to
just categorically disallow dependency on the MachineFunction state in
the constructor and to always construct this at the same time as the
MachineFunction itself.

A missing feature I still could use is a way to access an custom
analysis pass on the IR here.
</pre>
</div>
</content>
</entry>
<entry>
<title>llvm-reduce: Add cloning of target MachineFunctionInfo</title>
<updated>2022-06-07T14:14:48+00:00</updated>
<author>
<name>Matt Arsenault</name>
<email>Matthew.Arsenault@amd.com</email>
</author>
<published>2022-04-16T02:35:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cc5a1b3dd9039d50f6b9caa679d60398f0cec65f'/>
<id>cc5a1b3dd9039d50f6b9caa679d60398f0cec65f</id>
<content type='text'>
MIR support is totally unusable for AMDGPU without this, since the set
of reserved registers is set from fields here.

Add a clone method to MachineFunctionInfo. This is a subtle variant of
the copy constructor that is required if there are any MIR constructs
that use pointers. Specifically, at minimum fields that reference
MachineBasicBlocks or the MachineFunction need to be adjusted to the
values in the new function.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MIR support is totally unusable for AMDGPU without this, since the set
of reserved registers is set from fields here.

Add a clone method to MachineFunctionInfo. This is a subtle variant of
the copy constructor that is required if there are any MIR constructs
that use pointers. Specifically, at minimum fields that reference
MachineBasicBlocks or the MachineFunction need to be adjusted to the
values in the new function.
</pre>
</div>
</content>
</entry>
<entry>
<title>[SystemZ] Remove the ManipulatesSP flag from backend (NFC).</title>
<updated>2022-01-20T19:00:51+00:00</updated>
<author>
<name>Jonas Paulsson</name>
<email>paulsson@linux.vnet.ibm.com</email>
</author>
<published>2022-01-18T23:40:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=792853cb786b360fad6dedb9066b76ecd958cb93'/>
<id>792853cb786b360fad6dedb9066b76ecd958cb93</id>
<content type='text'>
This flag was set in the presence of stacksave/stackrestore in order to force
a frame pointer.

This should however not be needed per the comment in MachineFrameInfo.h
stating that a a variable sized object "...is the sole condition which
prevents frame pointer elimination", and experiments have also shown that
there seems to be no effect whatsoever on code generation with ManipulatesSP.

Review: Ulrich Weigand
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This flag was set in the presence of stacksave/stackrestore in order to force
a frame pointer.

This should however not be needed per the comment in MachineFrameInfo.h
stating that a a variable sized object "...is the sole condition which
prevents frame pointer elimination", and experiments have also shown that
there seems to be no effect whatsoever on code generation with ManipulatesSP.

Review: Ulrich Weigand
</pre>
</div>
</content>
</entry>
</feed>
