[llvm] [InstCombine] Combine or-disjoint (and->mul), (and->mul) to and->mul (PR #136013)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed May 21 13:23:54 PDT 2025


================
@@ -3560,6 +3560,72 @@ static Value *foldOrOfInversions(BinaryOperator &I,
   return nullptr;
 }
 
+struct DecomposedBitMaskMul {
+  Value *X;
+  APInt Factor;
+  APInt Mask;
+};
+
+static std::optional<DecomposedBitMaskMul> matchBitmaskMul(Value *V) {
----------------
arsenm wrote:

This needs more documenting about what it does 

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


More information about the llvm-commits mailing list