<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/RDFGraph.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] Use range constructors of *Set (NFC) (#133549)</title>
<updated>2025-03-29T02:55:18+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-03-29T02:55:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d4427f308eb6e42790a36b56d61b482cbc9f67ba'/>
<id>d4427f308eb6e42790a36b56d61b482cbc9f67ba</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use *Set::insert_range (NFC) (#132325)</title>
<updated>2025-03-21T05:24:06+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-03-21T05:24:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=599005686a1c27ffe97bb4eb07fcd98359a2af99'/>
<id>599005686a1c27ffe97bb4eb07fcd98359a2af99</id>
<content type='text'>
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range.  This patch replaces:

  Dest.insert(Src.begin(), Src.end());

with:

  Dest.insert_range(Src);

This patch does not touch custom begin like succ_begin for now.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DenseSet, SmallPtrSet, SmallSet, SetVector, and StringSet recently
gained C++23-style insert_range.  This patch replaces:

  Dest.insert(Src.begin(), Src.end());

with:

  Dest.insert_range(Src);

This patch does not touch custom begin like succ_begin for now.</pre>
</div>
</content>
</entry>
<entry>
<title>[RDF] Create phi nodes for clobbering defs (#123694)</title>
<updated>2025-02-07T14:28:29+00:00</updated>
<author>
<name>Yashas Andaluri</name>
<email>quic_yandalur@quicinc.com</email>
</author>
<published>2025-02-07T14:28:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a361de6d13183111e942d9f5c6345ed3e8964b2b'/>
<id>a361de6d13183111e942d9f5c6345ed3e8964b2b</id>
<content type='text'>
When a def in a block A reaches another block B that is in A's iterated
dominance frontier, a phi node is added to B for the def register.

A clobbering def can be created at a call instruction, for a register
clobbered by a call.
However, phi nodes are not created for a register, when one of the
reaching defs of the register is a clobbering def.

This patch adds phi nodes for registers that have a clobbering reaching
def. These additional phis help in checking reaching defs for an
instruction in RDF based copy propagation and addressing mode
optimizations.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When a def in a block A reaches another block B that is in A's iterated
dominance frontier, a phi node is added to B for the def register.

A clobbering def can be created at a call instruction, for a register
clobbered by a call.
However, phi nodes are not created for a register, when one of the
reaching defs of the register is a clobbering def.

This patch adds phi nodes for registers that have a clobbering reaching
def. These additional phis help in checking reaching defs for an
instruction in RDF based copy propagation and addressing mode
optimizations.</pre>
</div>
</content>
</entry>
<entry>
<title>[RDF] Fix cover check when linking refs to defs (#113888)</title>
<updated>2024-11-19T18:38:36+00:00</updated>
<author>
<name>Yashas Andaluri</name>
<email>quic_yandalur@quicinc.com</email>
</author>
<published>2024-11-19T18:38:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b28eebf9264a6b6843b15d4e17be70604f3e4ad8'/>
<id>b28eebf9264a6b6843b15d4e17be70604f3e4ad8</id>
<content type='text'>
During RDF graph construction, linkRefUp method links a register ref to
its upward reaching defs until all RegUnits of the ref have been covered
by defs.
However, when a sub-register def covers some, but not all, of the
RegUnits of a previous super-register def, a super-register ref is not
linked to the super-register def.
This can result in certain super register defs being dead code
eliminated.

This patch fixes the cover check for a register ref. A def must be
skipped only when all RegUnits of that def have already been covered by
a previously seen def.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
During RDF graph construction, linkRefUp method links a register ref to
its upward reaching defs until all RegUnits of the ref have been covered
by defs.
However, when a sub-register def covers some, but not all, of the
RegUnits of a previous super-register def, a super-register ref is not
linked to the super-register def.
This can result in certain super register defs being dead code
eliminated.

This patch fixes the cover check for a register ref. A def must be
skipped only when all RegUnits of that def have already been covered by
a previously seen def.</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Remove unused includes (NFC) (#115996)</title>
<updated>2024-11-13T07:15:06+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-11-13T07:15:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=735ab61ac828bd61398e6847d60e308fdf2b54ec'/>
<id>735ab61ac828bd61398e6847d60e308fdf2b54ec</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>[CodeGen] Use std::pair&lt;MCRegister, Register&gt; to match return from MRI.liveins(). NFC</title>
<updated>2024-08-25T22:28:08+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2024-08-25T22:20:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c503758ab6a4eacd3ef671a4a5ccf813995d4456'/>
<id>c503758ab6a4eacd3ef671a4a5ccf813995d4456</id>
<content type='text'>
MachineRegisterInfo::liveins returns std::pair&lt;MCRegister, Register&gt;.
Don't convert to std::pair&lt;unsigned, unsigned&gt;.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
MachineRegisterInfo::liveins returns std::pair&lt;MCRegister, Register&gt;.
Don't convert to std::pair&lt;unsigned, unsigned&gt;.
</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Make lambda take const reference to prevent unneeded copy (NFC)</title>
<updated>2024-05-02T20:34:03+00:00</updated>
<author>
<name>Youngsuk Kim</name>
<email>youngsuk.kim@hpe.com</email>
</author>
<published>2024-05-02T20:31:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9d4575c910c210c3780b1c882e09732464dd4f44'/>
<id>9d4575c910c210c3780b1c882e09732464dd4f44</id>
<content type='text'>
Closes #89198
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #89198
</pre>
</div>
</content>
</entry>
<entry>
<title>[RDF] Skip over NoRegister. NFCI. (#80672)</title>
<updated>2024-02-05T14:15:55+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2024-02-05T14:15:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=abea3b27991dd73cad251f623a2a8f25a3e786ff'/>
<id>abea3b27991dd73cad251f623a2a8f25a3e786ff</id>
<content type='text'>
This just avoids useless work of adding NoRegister to BaseSet, for
consistency with other places that iterate over all physical registers.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This just avoids useless work of adding NoRegister to BaseSet, for
consistency with other places that iterate over all physical registers.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Use llvm::is_contained (NFC)</title>
<updated>2024-01-13T02:39:48+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-01-13T02:39:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=15179aa433dfb50e025ee054aea50f428933bb22'/>
<id>15179aa433dfb50e025ee054aea50f428933bb22</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[RDF] Create build config</title>
<updated>2023-06-14T22:34:24+00:00</updated>
<author>
<name>Krzysztof Parzyszek</name>
<email>kparzysz@quicinc.com</email>
</author>
<published>2023-06-03T13:59:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=39ab9da92058719240f072dbe5a6e09812501db4'/>
<id>39ab9da92058719240f072dbe5a6e09812501db4</id>
<content type='text'>
- Add option to ignore reserved registers
- Add possibility to track selected registers or register classes only

Tracking is done based on register units, so the set of registers to track
is translated into a set of register units.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add option to ignore reserved registers
- Add possibility to track selected registers or register classes only

Tracking is done based on register units, so the set of registers to track
is translated into a set of register units.
</pre>
</div>
</content>
</entry>
</feed>
