<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/TargetInstrInfo.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>[LLVM][CodeGen] Add convenience accessors for MachineFunctionProperties (#140002)</title>
<updated>2025-05-22T15:07:52+00:00</updated>
<author>
<name>Rahul Joshi</name>
<email>rjoshi@nvidia.com</email>
</author>
<published>2025-05-22T15:07:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=1fdf02ad5a4ca155017eea22688365a20aab077c'/>
<id>1fdf02ad5a4ca155017eea22688365a20aab077c</id>
<content type='text'>
Add per-property has&lt;Prop&gt;/set&lt;Prop&gt;/reset&lt;Prop&gt; functions to
MachineFunctionProperties.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add per-property has&lt;Prop&gt;/set&lt;Prop&gt;/reset&lt;Prop&gt; functions to
MachineFunctionProperties.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use range constructors of *Set (NFC) (#137552)</title>
<updated>2025-04-27T22:59:57+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-04-27T22:59:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5cfd81b0cc9f92f3d4903f4e7b97769fe7b565b9'/>
<id>5cfd81b0cc9f92f3d4903f4e7b97769fe7b565b9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[Analysis] Remove implicit LocationSize conversion from uint64_t (#133342)</title>
<updated>2025-04-18T14:46:31+00:00</updated>
<author>
<name>Philip Reames</name>
<email>preames@rivosinc.com</email>
</author>
<published>2025-04-18T14:46:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f2ecd86e34ed5323f2a8ec2259f11e9f5e9bb078'/>
<id>f2ecd86e34ed5323f2a8ec2259f11e9f5e9bb078</id>
<content type='text'>
This change removes the uint64_t constructor on LocationSize
preventing implicit conversion, and fixes up the using APIs to adapt to
the change. Note that I'm adding a couple of explicit conversion points
on routines where passing in a fixed offset as an integer seems likely
to have well understood semantics.

We had an unfortunate case which arose if you tried to pass a TypeSize
value to a parameter of LocationSize type. We'd find the implicit
conversion path through TypeSize -&gt; uint64_t -&gt; LocationSize which works
just fine for fixed values, but looses information and fails assertions
if the TypeSize was scalable. This change breaks the first link in that
implicit conversion chain since that seemed to be the easier one.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This change removes the uint64_t constructor on LocationSize
preventing implicit conversion, and fixes up the using APIs to adapt to
the change. Note that I'm adding a couple of explicit conversion points
on routines where passing in a fixed offset as an integer seems likely
to have well understood semantics.

We had an unfortunate case which arose if you tried to pass a TypeSize
value to a parameter of LocationSize type. We'd find the implicit
conversion path through TypeSize -&gt; uint64_t -&gt; LocationSize which works
just fine for fixed values, but looses information and fails assertions
if the TypeSize was scalable. This change breaks the first link in that
implicit conversion chain since that seemed to be the easier one.</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Provide a target independent default for optimizeLoadInst [NFC]</title>
<updated>2025-03-26T15:52:40+00:00</updated>
<author>
<name>Philip Reames</name>
<email>preames@rivosinc.com</email>
</author>
<published>2025-03-26T15:23:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=236f938ef65cc9028801303bb0bd914afca37836'/>
<id>236f938ef65cc9028801303bb0bd914afca37836</id>
<content type='text'>
This just moves the x86 implementation into generic code since it appears
to be suitable for any target.  The heart of this transform is inside
foldMemoryOperand so other targets won't actually kick in until they
implement said API.  This just removes one piece to implement in the
process of enabling foldMemoryOperand.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This just moves the x86 implementation into generic code since it appears
to be suitable for any target.  The heart of this transform is inside
foldMemoryOperand so other targets won't actually kick in until they
implement said API.  This just removes one piece to implement in the
process of enabling foldMemoryOperand.
</pre>
</div>
</content>
</entry>
<entry>
<title>[Machine-Combiner] Add a pass to reassociate chains of accumulation instructions into a tree (#132728)</title>
<updated>2025-03-25T13:58:20+00:00</updated>
<author>
<name>Jonathan Cohen</name>
<email>joncoh@apple.com</email>
</author>
<published>2025-03-25T13:58:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6785951410c35aa9429152d3e041b44b79db53f2'/>
<id>6785951410c35aa9429152d3e041b44b79db53f2</id>
<content type='text'>
This pass is designed to increase ILP by performing accumulation into
multiple registers. It currently supports only the S/UABAL accumulation
instruction, but can be extended to support additional instructions.

Reland of  #126060 which was reverted due to a conflict with #131272.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pass is designed to increase ILP by performing accumulation into
multiple registers. It currently supports only the S/UABAL accumulation
instruction, but can be extended to support additional instructions.

Reland of  #126060 which was reverted due to a conflict with #131272.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[AArch64][MachineCombiner] Recombine long chains of accumulation instructions into a tree to increase ILP (#126060) (#132607)</title>
<updated>2025-03-23T11:58:00+00:00</updated>
<author>
<name>Jonathan Cohen</name>
<email>joncoh@apple.com</email>
</author>
<published>2025-03-23T11:58:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=7bda9caa4981bf8c378f2c721e4e1b172b0e906c'/>
<id>7bda9caa4981bf8c378f2c721e4e1b172b0e906c</id>
<content type='text'>
This reverts commit c4caf949aa934a219e84d4ba0530bd535e698cdb.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit c4caf949aa934a219e84d4ba0530bd535e698cdb.</pre>
</div>
</content>
</entry>
<entry>
<title>[AArch64][MachineCombiner] Recombine long chains of accumulation instructions into a tree to increase ILP (#126060)</title>
<updated>2025-03-23T11:25:35+00:00</updated>
<author>
<name>Jonathan Cohen</name>
<email>joncoh@apple.com</email>
</author>
<published>2025-03-23T11:25:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c4caf949aa934a219e84d4ba0530bd535e698cdb'/>
<id>c4caf949aa934a219e84d4ba0530bd535e698cdb</id>
<content type='text'>
This pattern shows up often in media libraries. The optimization should only
kick in for O3. Currently only supports a single family of accumulation
instructions, but can easily be expanded to support additional
instructions in the future.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This pattern shows up often in media libraries. The optimization should only
kick in for O3. Currently only supports a single family of accumulation
instructions, but can easily be expanded to support additional
instructions in the future.</pre>
</div>
</content>
</entry>
<entry>
<title>[MachineCombiner][Targets] Use Register in TII genAlternativeCodeSequence interface. NFC (#131272)</title>
<updated>2025-03-14T06:27:56+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2025-03-14T06:27:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6b7daf224933d60a7ef8acc399da8388b90bf318'/>
<id>6b7daf224933d60a7ef8acc399da8388b90bf318</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[aarch64][win] Update Called Globals info when updating Call Site info (#122762)</title>
<updated>2025-01-13T22:00:31+00:00</updated>
<author>
<name>Daniel Paoliello</name>
<email>danpao@microsoft.com</email>
</author>
<published>2025-01-13T22:00:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=19032bfe87fa0f4a3a7b3e68daafc93331b71e0d'/>
<id>19032bfe87fa0f4a3a7b3e68daafc93331b71e0d</id>
<content type='text'>
Fixes the "use after poison" issue introduced by #121516 (see
&lt;https://github.com/llvm/llvm-project/pull/121516#issuecomment-2585912395&gt;).

The root cause of this issue is that #121516 introduced "Called Global"
information for call instructions modeling how "Call Site" info is
stored in the machine function, HOWEVER it didn't copy the
copy/move/erase operations for call site information.

The fix is to rename and update the existing copy/move/erase functions
so they also take care of Called Global info.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes the "use after poison" issue introduced by #121516 (see
&lt;https://github.com/llvm/llvm-project/pull/121516#issuecomment-2585912395&gt;).

The root cause of this issue is that #121516 introduced "Called Global"
information for call instructions modeling how "Call Site" info is
stored in the machine function, HOWEVER it didn't copy the
copy/move/erase operations for call site information.

The fix is to rename and update the existing copy/move/erase functions
so they also take care of Called Global info.</pre>
</div>
</content>
</entry>
<entry>
<title>[AMDGPU] Add target hook to isGlobalMemoryObject (#112781)</title>
<updated>2025-01-11T17:57:57+00:00</updated>
<author>
<name>Austin Kerbow</name>
<email>Austin.Kerbow@amd.com</email>
</author>
<published>2025-01-11T17:57:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=657fb4433e027722e8c9a5002d0c194ecd3f2956'/>
<id>657fb4433e027722e8c9a5002d0c194ecd3f2956</id>
<content type='text'>
We want special handing for IGLP instructions in the scheduler but they
should still be treated like they have side effects by other passes. Add
a target hook to the ScheduleDAGInstrs DAG builder so that we have more
control over this.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We want special handing for IGLP instructions in the scheduler but they
should still be treated like they have side effects by other passes. Add
a target hook to the ScheduleDAGInstrs DAG builder so that we have more
control over this.</pre>
</div>
</content>
</entry>
</feed>
