diff options
Diffstat (limited to 'llvm/lib/Transforms/InstCombine')
| -rw-r--r-- | llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp | 4 | 
1 files changed, 4 insertions, 0 deletions
| diff --git a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp index d8b188ab8f8..dfdf677a797 100644 --- a/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp +++ b/llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp @@ -2085,6 +2085,10 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) {                                            ConstantExpr::getSub(WidthC, ShAmtC));      } +    // Left or right might be masked. +    if (SimplifyDemandedInstructionBits(*II)) +      return &CI; +      // The shift amount (operand 2) of a funnel shift is modulo the bitwidth,      // so only the low bits of the shift amount are demanded if the bitwidth is      // a power-of-2. | 

