<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/CodeGen/CodeGenPrepare.cpp, 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>[CGP]: Optimize mul.overflow. (#148343)</title>
<updated>2025-11-18T13:15:47+00:00</updated>
<author>
<name>Hassnaa Hamdi</name>
<email>hassnaa.hamdi@arm.com</email>
</author>
<published>2025-11-18T13:15:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3d5d32c6058807008e579dd5ea2faced33a7943b'/>
<id>3d5d32c6058807008e579dd5ea2faced33a7943b</id>
<content type='text'>
- Detect cases where LHS &amp; RHS values will not cause overflow
(when the Hi halfs are zero).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Detect cases where LHS &amp; RHS values will not cause overflow
(when the Hi halfs are zero).</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGenPrepare] sinkCmpExpression - don't sink larger than legal integer comparisons (#166778)</title>
<updated>2025-11-10T14:39:43+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2025-11-10T14:39:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5b204530629cabecfeba6f890dd7cb03e0b1a2e2'/>
<id>5b204530629cabecfeba6f890dd7cb03e0b1a2e2</id>
<content type='text'>
A generic alternative to #166564 - make the assumption that expanding
integer comparisons will be expensive if they are larger than the largest
legal type so avoid sinking if they are also used in the current BB + any phis.

Fixes #166534</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A generic alternative to #166564 - make the assumption that expanding
integer comparisons will be expensive if they are larger than the largest
legal type so avoid sinking if they are also used in the current BB + any phis.

Fixes #166534</pre>
</div>
</content>
</entry>
<entry>
<title>[Analysis, CodeGen] Use "= default" (NFC) (#166024)</title>
<updated>2025-11-02T06:20:11+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-11-02T06:20:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b82bde695e96a56a472b1bb60e3593a4064c60cc'/>
<id>b82bde695e96a56a472b1bb60e3593a4064c60cc</id>
<content type='text'>
Identified with modernize-use-equals-default.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Identified with modernize-use-equals-default.</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGenPrepare] Don't simplify incomplete expression tree in AddrModeCombine (#164628)</title>
<updated>2025-10-25T08:47:32+00:00</updated>
<author>
<name>Yingwei Zheng</name>
<email>dtcxzyw2333@gmail.com</email>
</author>
<published>2025-10-25T08:47:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=59e601a3d5e7669fdf809b9c6494e6f877ea5cd8'/>
<id>59e601a3d5e7669fdf809b9c6494e6f877ea5cd8</id>
<content type='text'>
Since new select/phi instructions may construct loops, the expression
tree to be simplified may still be incomplete (i.e., it may contain
select with dummy values or phi without incoming values). This patch
removes the call to simplifyInstruction for now, as it doesn't break
existing tests.

Original PR: https://reviews.llvm.org/D36073
Fix the crash reported in
https://github.com/llvm/llvm-project/pull/163453#issuecomment-3429922732.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since new select/phi instructions may construct loops, the expression
tree to be simplified may still be incomplete (i.e., it may contain
select with dummy values or phi without incoming values). This patch
removes the call to simplifyInstruction for now, as it doesn't break
existing tests.

Original PR: https://reviews.llvm.org/D36073
Fix the crash reported in
https://github.com/llvm/llvm-project/pull/163453#issuecomment-3429922732.</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] Replace LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]] (NFC) (#163507)</title>
<updated>2025-10-15T13:54:14+00:00</updated>
<author>
<name>Kazu Hirata</name>
<email>kazu@google.com</email>
</author>
<published>2025-10-15T13:54:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f2306b6304df4ed7dfdc4692034c23c5e21db8d9'/>
<id>f2306b6304df4ed7dfdc4692034c23c5e21db8d9</id>
<content type='text'>
This patch replaces LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]].  Note
that this patch adjusts the placement of [[maybe_unused]] to comply
with the C++17 language.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch replaces LLVM_ATTRIBUTE_UNUSED with [[maybe_unused]].  Note
that this patch adjusts the placement of [[maybe_unused]] to comply
with the C++17 language.</pre>
</div>
</content>
</entry>
<entry>
<title>[CGP] Fix missing sign extension for base offset in optimizeMemoryInst (#161377)</title>
<updated>2025-10-10T10:52:52+00:00</updated>
<author>
<name>Vladimir Radosavljevic</name>
<email>129192835+vladimirradosavljevic@users.noreply.github.com</email>
</author>
<published>2025-10-10T10:52:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=be7f85168df418a97a1206a7bf35a8c314ba8f29'/>
<id>be7f85168df418a97a1206a7bf35a8c314ba8f29</id>
<content type='text'>
If we have integers larger than 64-bit we need to explicitly sign extend
them, otherwise we will get wrong zero extended values.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
If we have integers larger than 64-bit we need to explicitly sign extend
them, otherwise we will get wrong zero extended values.</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGenPrepare] Bail out of usubo creation if sub's parent is not the same as the comparison (#160358)</title>
<updated>2025-09-25T13:55:01+00:00</updated>
<author>
<name>AZero13</name>
<email>gfunni234@gmail.com</email>
</author>
<published>2025-09-25T13:55:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=09bdbfd9d1a7b10b3b91c86672ca2994dc997c82'/>
<id>09bdbfd9d1a7b10b3b91c86672ca2994dc997c82</id>
<content type='text'>
We match uadd's behavior here.

Codegen comparison: https://godbolt.org/z/x8j4EhGno</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We match uadd's behavior here.

Codegen comparison: https://godbolt.org/z/x8j4EhGno</pre>
</div>
</content>
</entry>
<entry>
<title>[CodeGenPrepare] Consider target memory intrinics as memory use (#159638)</title>
<updated>2025-09-19T21:18:21+00:00</updated>
<author>
<name>Jeffrey Byrnes</name>
<email>jeffrey.byrnes@amd.com</email>
</author>
<published>2025-09-19T21:18:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=d8a4c61fe4c11b16a496a089e2962473c6b1b183'/>
<id>d8a4c61fe4c11b16a496a089e2962473c6b1b183</id>
<content type='text'>
When deciding to sink address instructions into their uses, we check if
it is profitable to do so. The profitability check is based on the types
of uses of this address instruction -- if there are users which are not
memory instructions, then do not fold.

However, this profitability check wasn't considering target intrinsics,
which may be loads / stores.

This adds some logic to handle target memory intrinsics.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When deciding to sink address instructions into their uses, we check if
it is profitable to do so. The profitability check is based on the types
of uses of this address instruction -- if there are users which are not
memory instructions, then do not fold.

However, this profitability check wasn't considering target intrinsics,
which may be loads / stores.

This adds some logic to handle target memory intrinsics.</pre>
</div>
</content>
</entry>
<entry>
<title>Re-apply "[NFCI][Globals] In GlobalObjects::setSectionPrefix, do conditional update if existing prefix is not equivalent to the new one. Returns whether prefix changed." (#159161)</title>
<updated>2025-09-16T20:33:29+00:00</updated>
<author>
<name>Mingming Liu</name>
<email>mingmingl@google.com</email>
</author>
<published>2025-09-16T20:33:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8b3c91c4fb1b8efaccb71894684e4fb16b0e8945'/>
<id>8b3c91c4fb1b8efaccb71894684e4fb16b0e8945</id>
<content type='text'>
This is a reland of https://github.com/llvm/llvm-project/pull/158460

Test failures are gone once I undo the changes in codegenprepare.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a reland of https://github.com/llvm/llvm-project/pull/158460

Test failures are gone once I undo the changes in codegenprepare.</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[NFCI][Globals] In GlobalObjects::setSectionPrefix, do conditional update if existing prefix is not equivalent to the new one. Returns whether prefix changed." (#159159)</title>
<updated>2025-09-16T19:51:54+00:00</updated>
<author>
<name>Mingming Liu</name>
<email>mingmingl@google.com</email>
</author>
<published>2025-09-16T19:51:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9277bcd1ab83fbfecfaaa5e15f3821808c5a6e38'/>
<id>9277bcd1ab83fbfecfaaa5e15f3821808c5a6e38</id>
<content type='text'>
Reverts llvm/llvm-project#158460 due to buildbot failures</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#158460 due to buildbot failures</pre>
</div>
</content>
</entry>
</feed>
