<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/llvm/lib/Support/KnownBits.cpp, branch users/mingmingl-llvm/samplefdo-profile-format</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>[KnownBits] Add operator&lt;&lt;=(unsigned) and operator&gt;&gt;=(unsigned). NFC (#155751)</title>
<updated>2025-08-28T17:08:28+00:00</updated>
<author>
<name>Craig Topper</name>
<email>craig.topper@sifive.com</email>
</author>
<published>2025-08-28T17:08:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9472225fa6c375ad9964c465c046059dcc386793'/>
<id>9472225fa6c375ad9964c465c046059dcc386793</id>
<content type='text'>
Add operators to shift left or right and insert unknown bits.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add operators to shift left or right and insert unknown bits.</pre>
</div>
</content>
</entry>
<entry>
<title>[InstCombine] Add additional known bits info for self multiply (#151202)</title>
<updated>2025-08-11T08:52:04+00:00</updated>
<author>
<name>Macsen Casaus</name>
<email>135416202+macsencasaus@users.noreply.github.com</email>
</author>
<published>2025-08-11T08:52:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=6fa13d79cfe770c0e1c70c70565da161c76a48e4'/>
<id>6fa13d79cfe770c0e1c70c70565da161c76a48e4</id>
<content type='text'>
Closes #151043 
https://alive2.llvm.org/ce/z/JyMSk8</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #151043 
https://alive2.llvm.org/ce/z/JyMSk8</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] properly guard dump methods in Support lib classes (#139938)</title>
<updated>2025-05-14T20:48:45+00:00</updated>
<author>
<name>Andrew Rogers</name>
<email>andrurogerz@gmail.com</email>
</author>
<published>2025-05-14T20:48:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0563186a76ddf51b8a7b6eaf0357c224f2625df8'/>
<id>0563186a76ddf51b8a7b6eaf0357c224f2625df8</id>
<content type='text'>
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.

## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.

NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.

## Background
This PR is a redo of #139804 with some changes to fix clang and unit
test build breaks.

This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.

According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const;
#endif
```

## Validation
* Local release build succeeds.
* CI</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.

## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.

NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.

## Background
This PR is a redo of #139804 with some changes to fix clang and unit
test build breaks.

This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.

According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const;
#endif
```

## Validation
* Local release build succeeds.
* CI</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "[llvm] properly guard dump methods in Support lib classes" (#139927)</title>
<updated>2025-05-14T16:35:19+00:00</updated>
<author>
<name>Andrew Rogers</name>
<email>andrurogerz@gmail.com</email>
</author>
<published>2025-05-14T16:35:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=9a0e1c79886ed95642b3400c0ec82f8a72d52ff6'/>
<id>9a0e1c79886ed95642b3400c0ec82f8a72d52ff6</id>
<content type='text'>
Reverts llvm/llvm-project#139804</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reverts llvm/llvm-project#139804</pre>
</div>
</content>
</entry>
<entry>
<title>[llvm] properly guard dump methods in Support lib classes (#139804)</title>
<updated>2025-05-14T15:54:12+00:00</updated>
<author>
<name>Andrew Rogers</name>
<email>andrurogerz@gmail.com</email>
</author>
<published>2025-05-14T15:54:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9'/>
<id>c9d05f3bcb3df5e56c0f9fc91366d62a229e7fb9</id>
<content type='text'>
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.

## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.

NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.

## Background
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.

According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const;
#endif
```

## Validation
* Local release build succeeds.
* CI</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
## Purpose
Add proper preprocessor guards for all `dump()` methods in the LLVM
support library. This change ensures these methods are not part of the
public ABI for release builds.

## Overview
* Annotates all `dump` methods in Support and ADT source with the
`LLVM_DUMP_METHOD` macro.
* Conditionally includes all `dump` method definitions in Support and
ADT source so they are only present on debug/assert builds and when
`LLVM_ENABLE_DUMP` is explicitly defined.

NOTE: For many of these `dump` methods, the implementation was already
properly guarded but the declaration in the header file was not.

## Background
This issue was raised in comments on #136629. I am addressing it as a
separate change since it is independent from the changes being made in
that PR.

According to [this
documentation](https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Support/Compiler.h#L637),
`dump` methods should be annotated with `LLVM_DUMP_METHOD` and
conditionally included as follows:
```
#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
  LLVM_DUMP_METHOD void dump() const;
#endif
```

## Validation
* Local release build succeeds.
* CI</pre>
</div>
</content>
</entry>
<entry>
<title>[KnownBits] Make `{s,u}{add,sub}_sat` optimal (#113096)</title>
<updated>2024-11-05T15:03:37+00:00</updated>
<author>
<name>goldsteinn</name>
<email>35538541+goldsteinn@users.noreply.github.com</email>
</author>
<published>2024-11-05T15:03:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=877cb9a2edc9057d70321e436e5ea8ccc1a87140'/>
<id>877cb9a2edc9057d70321e436e5ea8ccc1a87140</id>
<content type='text'>
Changes are:
    1) Make signed-overflow detection optimal
    2) For signed-overflow, try to rule out direction even if we can't
       totally rule out overflow.
    3) Intersect add/sub assuming no overflow with possible overflow
       clamping values as opposed to add/sub without the assumption.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Changes are:
    1) Make signed-overflow detection optimal
    2) For signed-overflow, try to rule out direction even if we can't
       totally rule out overflow.
    3) Intersect add/sub assuming no overflow with possible overflow
       clamping values as opposed to add/sub without the assumption.</pre>
</div>
</content>
</entry>
<entry>
<title>[KnownBits] Make `avg{Ceil,Floor}S` optimal (#110688)</title>
<updated>2024-10-01T18:34:50+00:00</updated>
<author>
<name>Jay Foad</name>
<email>jay.foad@amd.com</email>
</author>
<published>2024-10-01T18:34:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=5cabf1505d2180083ae3cf34abd79924cbcdbdbf'/>
<id>5cabf1505d2180083ae3cf34abd79924cbcdbdbf</id>
<content type='text'>
Rewrite the signed functions in terms of the unsigned ones which are
already optimal.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rewrite the signed functions in terms of the unsigned ones which are
already optimal.</pre>
</div>
</content>
</entry>
<entry>
<title>KnownBits: refine srem for high-bits (#109121)</title>
<updated>2024-09-27T11:00:50+00:00</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>ramkumar.ramachandra@codasip.com</email>
</author>
<published>2024-09-27T11:00:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=3fee3e83a8a802cd23e79fbf2f1320bb8f961d0c'/>
<id>3fee3e83a8a802cd23e79fbf2f1320bb8f961d0c</id>
<content type='text'>
KnownBits::srem does not correctly set the leader zero-bits, omitting
the fact that LHS may be known-negative or known-non-negative. Fix this.

Alive2 proof: https://alive2.llvm.org/ce/z/Ugh-Dq</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
KnownBits::srem does not correctly set the leader zero-bits, omitting
the fact that LHS may be known-negative or known-non-negative. Fix this.

Alive2 proof: https://alive2.llvm.org/ce/z/Ugh-Dq</pre>
</div>
</content>
</entry>
<entry>
<title>[KnownBits] avgCompute - don't create on-the-fly Carry. NFC.</title>
<updated>2024-06-13T09:17:15+00:00</updated>
<author>
<name>Simon Pilgrim</name>
<email>llvm-dev@redking.me.uk</email>
</author>
<published>2024-06-13T09:17:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=fa9301f35b41396bdf829cfd633fa2f983798723'/>
<id>fa9301f35b41396bdf829cfd633fa2f983798723</id>
<content type='text'>
Use the internal computeForAddCarry directly since we know the exact values of the carry bit.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use the internal computeForAddCarry directly since we know the exact values of the carry bit.
</pre>
</div>
</content>
</entry>
<entry>
<title>[KnownBits] Remove `hasConflict()` assertions (#94568)</title>
<updated>2024-06-07T15:01:22+00:00</updated>
<author>
<name>c8ef</name>
<email>c8ef@outlook.com</email>
</author>
<published>2024-06-07T15:01:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=b25b1db8199d86cb3645e92200cda8d5d30922d0'/>
<id>b25b1db8199d86cb3645e92200cda8d5d30922d0</id>
<content type='text'>
Allow KnownBits to represent "always poison" values via conflict.

close: #94436</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Allow KnownBits to represent "always poison" values via conflict.

close: #94436</pre>
</div>
</content>
</entry>
</feed>
