<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/StackColoring.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>[CodeGen] Avoid repeated hash lookups (NFC) (#132329)</title>
<updated>2025-03-21T15:00:45+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-03-21T15:00:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=67a631b40673ed061abcb842feb840d982dfc6d9'/>
<id>67a631b40673ed061abcb842feb840d982dfc6d9</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Avoid repeated hash lookups (NFC) (#126403)</title>
<updated>2025-02-09T16:55:43+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-02-09T16:55:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c741cf1617c22d18316fd98af1c30dc244eab22e'/>
<id>c741cf1617c22d18316fd98af1c30dc244eab22e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen] Avoid repeated hash lookups (NFC) (#125025)</title>
<updated>2025-01-31T01:58:51+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-01-31T01:58:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3874620ef7477c47abb07b7b68c410c1a9ed1b53'/>
<id>3874620ef7477c47abb07b7b68c410c1a9ed1b53</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[NFC][DebugInfo] Use iterator moveBefore at many call-sites (#123583)</title>
<updated>2025-01-24T10:53:11+00:00</updated>
<author>
<name>Jeremy Morse</name>
<email>jeremy.morse@sony.com</email>
</author>
<published>2025-01-24T10:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8e702735090388a3231a863e343f880d0f96fecb'/>
<id>8e702735090388a3231a863e343f880d0f96fecb</id>
<content type='text'>
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to moveBefore use iterators.

This patch adds a (guaranteed dereferenceable) iterator-taking
moveBefore, and changes a bunch of call-sites where it's obviously safe
to change to use it by just calling getIterator() on an instruction
pointer. A follow-up patch will contain less-obviously-safe changes.

We'll eventually deprecate and remove the instruction-pointer
insertBefore, but not before adding concise documentation of what
considerations are needed (very few).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As part of the "RemoveDIs" project, BasicBlock::iterator now carries a
debug-info bit that's needed when getFirstNonPHI and similar feed into
instruction insertion positions. Call-sites where that's necessary were
updated a year ago; but to ensure some type safety however, we'd like to
have all calls to moveBefore use iterators.

This patch adds a (guaranteed dereferenceable) iterator-taking
moveBefore, and changes a bunch of call-sites where it's obviously safe
to change to use it by just calling getIterator() on an instruction
pointer. A follow-up patch will contain less-obviously-safe changes.

We'll eventually deprecate and remove the instruction-pointer
insertBefore, but not before adding concise documentation of what
considerations are needed (very few).</pre>
</div>
</content>
</entry>
<entry>
<title>[Instrumentation] Support `MachineFunction` in `OptNoneInstrumentation` (#115471)</title>
<updated>2024-11-09T08:50:11+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-11-09T08:50:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fe6366928201b7500ee7e903c01bf4bbd661ee2d'/>
<id>fe6366928201b7500ee7e903c01bf4bbd661ee2d</id>
<content type='text'>
Support `MachineFunction` in `OptNoneInstrumentation`, also add
`isRequired` to all necessary passes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support `MachineFunction` in `OptNoneInstrumentation`, also add
`isRequired` to all necessary passes.</pre>
</div>
</content>
</entry>
<entry>
<title>[NewPM][CodeGen] Port StackColoring to NPM (#111812)</title>
<updated>2024-10-14T13:53:34+00:00</updated>
<author>
<name>Akshat Oke</name>
<email>76596238+optimisan@users.noreply.github.com</email>
</author>
<published>2024-10-14T13:53:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cd6c2b80be024d4bc0f6ce70930369b913a5daae'/>
<id>cd6c2b80be024d4bc0f6ce70930369b913a5daae</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGen][NewPM] Port `SlotIndexes` to new pass manager (#97941)</title>
<updated>2024-07-09T04:09:11+00:00</updated>
<author>
<name>paperchalice</name>
<email>liujunchang97@outlook.com</email>
</author>
<published>2024-07-09T04:09:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4010f894a1e880f88bda78a49a8bece5affaa848'/>
<id>4010f894a1e880f88bda78a49a8bece5affaa848</id>
<content type='text'>
- Add `SlotIndexesAnalysis`.
- Add `SlotIndexesPrinterPass`.
- Use `SlotIndexesWrapperPass` in legacy pass.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add `SlotIndexesAnalysis`.
- Add `SlotIndexesPrinterPass`.
- Use `SlotIndexesWrapperPass` in legacy pass.</pre>
</div>
</content>
</entry>
<entry>
<title>[StackColoring] Use poison instead of undef as placeholder when deleting values [NFC]</title>
<updated>2024-06-30T10:55:22+00:00</updated>
<author>
<name>Nuno Lopes</name>
<email>nuno.lopes@tecnico.ulisboa.pt</email>
</author>
<published>2024-06-30T10:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=a4b49745af92375968659411b02ac4866a076dd1'/>
<id>a4b49745af92375968659411b02ac4866a076dd1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[StackColoring] Declare BitVector outside the loop (#95688)</title>
<updated>2024-06-16T07:27:22+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2024-06-16T07:27:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c44d52823b4fe8f3aa98fc034f9fcc69b98ef6a0'/>
<id>c44d52823b4fe8f3aa98fc034f9fcc69b98ef6a0</id>
<content type='text'>
The StackColoring pass creates two instances of BitVector per basic
block until the fixed point is reached.  Each instance may involve a
heap allocation depending on its size.

This patch declares them outside the loop, saving 1.40% of heap
allocations during the compilation of CGBuiltin.cpp.ii, a preprocessed
version of CGBuiltin.cpp.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The StackColoring pass creates two instances of BitVector per basic
block until the fixed point is reached.  Each instance may involve a
heap allocation depending on its size.

This patch declares them outside the loop, saving 1.40% of heap
allocations during the compilation of CGBuiltin.cpp.ii, a preprocessed
version of CGBuiltin.cpp.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[StackColoring] Delete dead stack slots (#75351)" (#75655)</title>
<updated>2023-12-15T21:32:39+00:00</updated>
<author>
<name>Paul Kirth</name>
<email>paulkirth@google.com</email>
</author>
<published>2023-12-15T21:32:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9a578a9f602547bb7b0cdf54d4759eab20d150b3'/>
<id>9a578a9f602547bb7b0cdf54d4759eab20d150b3</id>
<content type='text'>
This reverts commit 08b306dc8e7c0b2498f4f194a3c51686d56dbd20.

it causes the following assertion failure:
llvm/include/llvm/CodeGen/MachineFrameInfo.h:530: int64_t
llvm::MachineFrameInfo::getObjectOffset(int) const: Assertion
`!isDeadObjectIndex(ObjectIdx) &amp;&amp; "Getting frame offset for a dead
object?"' failed.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This reverts commit 08b306dc8e7c0b2498f4f194a3c51686d56dbd20.

it causes the following assertion failure:
llvm/include/llvm/CodeGen/MachineFrameInfo.h:530: int64_t
llvm::MachineFrameInfo::getObjectOffset(int) const: Assertion
`!isDeadObjectIndex(ObjectIdx) &amp;&amp; "Getting frame offset for a dead
object?"' failed.</pre>
</div>
</content>
</entry>
</feed>
