<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git, branch users/guy-david/aarch64-fmov-vec-imm-rematerializable</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>[AArch64] Mark FMOVvXfY_ns as rematerializable, cheap</title>
<updated>2025-11-22T20:38:36+00:00</updated>
<author>
<name>Guy David</name>
<email>guyda96@gmail.com</email>
</author>
<published>2025-11-22T17:45:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=bac88b56a18a8dbd15bb1a8c230be668f6c70df7'/>
<id>bac88b56a18a8dbd15bb1a8c230be668f6c70df7</id>
<content type='text'>
Otherwise, the register allocator may spill and reload constants that
can be rematerialized with a single instruction.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Otherwise, the register allocator may spill and reload constants that
can be rematerialized with a single instruction.
</pre>
</div>
</content>
</entry>
<entry>
<title>[X86] Move _mm512_mask_blend_pd/ps tests to avx512f-builtins.c (#169170)</title>
<updated>2025-11-22T17:26:13+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2025-11-22T17:26:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b00c620b3504565d9769a434bc7d4e97854cd788'/>
<id>b00c620b3504565d9769a434bc7d4e97854cd788</id>
<content type='text'>
These aren't AVX512VL tests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These aren't AVX512VL tests</pre>
</div>
</content>
</entry>
<entry>
<title>[Clang] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - Allow AVX512 VPSHUFBITQMB intrinsics to be used in constexpr (#168100)</title>
<updated>2025-11-22T17:19:27+00:00</updated>
<author>
<name>NagaChaitanya Vellanki</name>
<email>pnagato@protonmail.com</email>
</author>
<published>2025-11-22T17:19:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=456ca91815c3fdb60b5ca695c8bb05b75016a343'/>
<id>456ca91815c3fdb60b5ca695c8bb05b75016a343</id>
<content type='text'>
Resolves #161337</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolves #161337</pre>
</div>
</content>
</entry>
<entry>
<title>[UBSan] Fix test-darwin-interface.c on X86 Darwin with Internal Shell (#169105)</title>
<updated>2025-11-22T16:52:34+00:00</updated>
<author>
<name>Aiden Grossman</name>
<email>aidengrossman@google.com</email>
</author>
<published>2025-11-22T16:52:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=126462035a1eb7adeb97f6beac48b6bddac65d09'/>
<id>126462035a1eb7adeb97f6beac48b6bddac65d09</id>
<content type='text'>
This test was failing with the internal shell due to the use of
subshells. This was not caught in my initial round of testing due to me
only using a M4 Mac for running my tests.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This test was failing with the internal shell due to the use of
subshells. This was not caught in my initial round of testing due to me
only using a M4 Mac for running my tests.</pre>
</div>
</content>
</entry>
<entry>
<title>[lldb] [disassembler] chore: update VariableAnnotator::Annotate to except only Instruction as param and drop module and target (#168276)</title>
<updated>2025-11-22T16:01:34+00:00</updated>
<author>
<name>n2h9</name>
<email>13541181+n2h9@users.noreply.github.com</email>
</author>
<published>2025-11-22T16:01:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c4921b75a96ccebbad57a9938ec34ca7d0c89c42'/>
<id>c4921b75a96ccebbad57a9938ec34ca7d0c89c42</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[InstCombine] Generalize trunc-shift-icmp fold from (1 &lt;&lt; Y) to (Pow2 &lt;&lt; Y) (#169163)</title>
<updated>2025-11-22T15:44:06+00:00</updated>
<author>
<name>Pedro Lobo</name>
<email>pedro.lobo@tecnico.ulisboa.pt</email>
</author>
<published>2025-11-22T15:44:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e8af134bb7f891caa49178c8a04a8ca944c611df'/>
<id>e8af134bb7f891caa49178c8a04a8ca944c611df</id>
<content type='text'>
Extends the `icmp(trunc(shl))` fold to handle any power of 2 constant as
the shift base, not just 1. This generalizes the following patterns by
adjusting the comparison offsets by `log2(Pow2)`.

```llvm
(trunc (1 &lt;&lt; Y) to iN) == 0    --&gt; Y u&gt;= N
(trunc (1 &lt;&lt; Y) to iN) != 0    --&gt; Y u&lt;  N
(trunc (1 &lt;&lt; Y) to iN) == 2**C --&gt; Y ==  C
(trunc (1 &lt;&lt; Y) to iN) != 2**C --&gt; Y !=  C

; to

(trunc (Pow2 &lt;&lt; Y) to iN) == 0    --&gt; Y u&gt;= N - log2(Pow2)
(trunc (Pow2 &lt;&lt; Y) to iN) != 0    --&gt; Y u&lt;  N - log2(Pow2)
(trunc (Pow2 &lt;&lt; Y) to iN) == 2**C --&gt; Y ==  C - log2(Pow2)
(trunc (Pow2 &lt;&lt; Y) to iN) != 2**C --&gt; Y !=  C - log2(Pow2)
```

Proof: https://alive2.llvm.org/ce/z/2zwTkp</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Extends the `icmp(trunc(shl))` fold to handle any power of 2 constant as
the shift base, not just 1. This generalizes the following patterns by
adjusting the comparison offsets by `log2(Pow2)`.

```llvm
(trunc (1 &lt;&lt; Y) to iN) == 0    --&gt; Y u&gt;= N
(trunc (1 &lt;&lt; Y) to iN) != 0    --&gt; Y u&lt;  N
(trunc (1 &lt;&lt; Y) to iN) == 2**C --&gt; Y ==  C
(trunc (1 &lt;&lt; Y) to iN) != 2**C --&gt; Y !=  C

; to

(trunc (Pow2 &lt;&lt; Y) to iN) == 0    --&gt; Y u&gt;= N - log2(Pow2)
(trunc (Pow2 &lt;&lt; Y) to iN) != 0    --&gt; Y u&lt;  N - log2(Pow2)
(trunc (Pow2 &lt;&lt; Y) to iN) == 2**C --&gt; Y ==  C - log2(Pow2)
(trunc (Pow2 &lt;&lt; Y) to iN) != 2**C --&gt; Y !=  C - log2(Pow2)
```

Proof: https://alive2.llvm.org/ce/z/2zwTkp</pre>
</div>
</content>
</entry>
<entry>
<title>[clang][bytecode][NFC] Remove VariableScope::emitDestruction (#169148)</title>
<updated>2025-11-22T15:41:00+00:00</updated>
<author>
<name>Timm Baeder</name>
<email>tbaeder@redhat.com</email>
</author>
<published>2025-11-22T15:41:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=cc4dd015ad4a1b33d43fbac00d62f6b309a96ff4'/>
<id>cc4dd015ad4a1b33d43fbac00d62f6b309a96ff4</id>
<content type='text'>
destroyLocals() does the same thing.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
destroyLocals() does the same thing.</pre>
</div>
</content>
</entry>
<entry>
<title> [Clang][X86] VectorExprEvaluator::VisitCallExpr / InterpretBuiltin - allow VPERMILPD/S variable mask intrinsics to be used in constexpr (#168861)</title>
<updated>2025-11-22T14:37:50+00:00</updated>
<author>
<name>stomfaig</name>
<email>55883018+stomfaig@users.noreply.github.com</email>
</author>
<published>2025-11-22T14:37:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=2e424deeb6180d112323f4df955c8034eb56780c'/>
<id>2e424deeb6180d112323f4df955c8034eb56780c</id>
<content type='text'>
Allowing VPERMILPD/S intrinsics to be used in constexpr

Closes #167878</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allowing VPERMILPD/S intrinsics to be used in constexpr

Closes #167878</pre>
</div>
</content>
</entry>
<entry>
<title>[libc++][any] Applied `[[nodiscard]]` (#168826)</title>
<updated>2025-11-22T13:03:46+00:00</updated>
<author>
<name>Hristo Hristov</name>
<email>hghristov.rmm@gmail.com</email>
</author>
<published>2025-11-22T13:03:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=8ba27138b2f948224fefdd0d2a44862d6100d119'/>
<id>8ba27138b2f948224fefdd0d2a44862d6100d119</id>
<content type='text'>
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
`[[nodiscard]]` should be applied to functions where discarding the
return value is most likely a correctness issue.
-
https://libcxx.llvm.org/CodingGuidelines.html#apply-nodiscard-where-relevant</pre>
</div>
</content>
</entry>
<entry>
<title>[Flang] Add -ffast-real-mod back for further control of MOD optimizations (#167118)</title>
<updated>2025-11-22T11:55:32+00:00</updated>
<author>
<name>Michael Klemm</name>
<email>michael.klemm@amd.com</email>
</author>
<published>2025-11-22T11:55:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9daf4345ec836d50740805c878bd570dd4093354'/>
<id>9daf4345ec836d50740805c878bd570dd4093354</id>
<content type='text'>
It turns out that having `-ffast-math` as the only option to control
optimizations for MOD for REAL kinds (PR #160660) is too coarse-grained
for some applications. Thus, this PR adds back `-ffast-real-mod` to have
more control over the optimization. The `-ffast-math` flag will still
enable the optimization, and `-fno-fast-real-mod` allows one to disable
it.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It turns out that having `-ffast-math` as the only option to control
optimizations for MOD for REAL kinds (PR #160660) is too coarse-grained
for some applications. Thus, this PR adds back `-ffast-real-mod` to have
more control over the optimization. The `-ffast-math` flag will still
enable the optimization, and `-fno-fast-real-mod` allows one to disable
it.</pre>
</div>
</content>
</entry>
</feed>
