[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-12-04 Thread Nuno Lopes via cfe-commits
nunoplopes wrote: FWIW, Alive2 is complaining about this commit. These patches are not safe w.r.t. undef. https://github.com/llvm/llvm-project/pull/72912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-12-04 Thread Craig Topper via cfe-commits
topperc wrote: > Here's a simple-ish example: > > ```llvm > ; Transforms/InstCombine/add.ll > > define i5 @zext_sext_not(i4 %x) { > %zx = zext i4 %x to i5 > %notx = xor i4 %x, 15 > %snotx = sext i4 %notx to i5 > %r = add i5 %zx, %snotx > ret i5 %r > } > => > define i5 @zext_sext_not(i

[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-12-04 Thread Craig Topper via cfe-commits
topperc wrote: @nikic is something like this the right fix ``` diff --git a/llvm/lib/Analysis/ValueTracking.cpp b/llvm/lib/Analysis/ValueTracking.cpp index 8c29c242215d..b03a56c922de 100644 --- a/llvm/lib/Analysis/ValueTracking.cpp +++ b/llvm/lib/Analysis/ValueTracking.cpp @@ -235,8 +235,11 @@

[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-11-20 Thread via cfe-commits
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff f4c6947a18d5c07d5743eb435c2854e61804ad24 3eb1a2a89ea0fe431545fe0013eff0b245837016 --

[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-11-30 Thread Nikita Popov via cfe-commits
nikic wrote: > Do we do that for other flags already? I based this off Add/Sub wrap flags. Add/Sub are not considered roots for demanded bits simplification, so we can't (reliably) perform this in there. `or` is a simplification root. > Are the KnownBits in SimplifyDemandedBit usable? We have

[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-12-02 Thread Nikita Popov via cfe-commits
https://github.com/nikic approved this pull request. LGTM https://github.com/llvm/llvm-project/pull/72912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [llvm] [InstCombine] Infer disjoint flag on Or instructions. (PR #72912)

2023-12-02 Thread Craig Topper via cfe-commits
https://github.com/topperc closed https://github.com/llvm/llvm-project/pull/72912 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits