[llvm] [InstCombine] Do not simplify lshr/shl arg if it is part of fshl rotate pattern. (PR #73441)

Yingwei Zheng via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 8 12:03:23 PST 2024


================
@@ -2706,17 +2706,16 @@ Instruction *InstCombinerImpl::matchBSwapOrBitReverse(Instruction &I,
   return LastInst;
 }
 
-/// Match UB-safe variants of the funnel shift intrinsic.
-static Instruction *matchFunnelShift(Instruction &Or, InstCombinerImpl &IC,
-                                     const DominatorTree &DT) {
+std::optional<std::tuple<Intrinsic::ID, SmallVector<Value *, 3>>>
+InstCombinerImpl::convertShlOrLShrToFShlOrFShr(Instruction &Or) {
   // TODO: Can we reduce the code duplication between this and the related
----------------
dtcxzyw wrote:

```suggestion
  assert(Or.getOpcode() == BinaryOperator::Or && "Expecting or instruction");
  // TODO: Can we reduce the code duplication between this and the related
```


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


More information about the llvm-commits mailing list