[llvm] [KnownBits] Add `force{Non}Negative` API (PR #110389)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 29 00:42:45 PDT 2024


https://github.com/nikic commented:

Historically, we've mostly used the clear + set pattern to avoid conflict assertions. These assertions no longer exists -- arguably, it is a good outcome if we get a conflict, because we could (but currently don't) fold to poison.

The API may still be useful in cases where you're not combining two unrelated facts but rather fixing up an incorrect value. But I don't think that's the usage you have in mind?

Overall, I think we should be changing these uses to plain makeNegative/makeNonNegative, if possible.

https://github.com/llvm/llvm-project/pull/110389


More information about the llvm-commits mailing list