reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
846 const SimplifyQuery Q = SQ.getWithInstruction(&I); 848 if (Value *V = SimplifyShlInst(I.getOperand(0), I.getOperand(1), 848 if (Value *V = SimplifyShlInst(I.getOperand(0), I.getOperand(1), 849 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), Q)) 849 I.hasNoSignedWrap(), I.hasNoUnsignedWrap(), Q)) 850 return replaceInstUsesWith(I, V); 852 if (Instruction *X = foldVectorBinop(I)) 855 if (Instruction *V = commonShiftTransforms(I)) 858 if (Instruction *V = dropRedundantMaskingOfLeftShiftInput(&I, Q, Builder)) 861 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 861 Value *Op0 = I.getOperand(0), *Op1 = I.getOperand(1); 862 Type *Ty = I.getType(); 875 MaskedValueIsZero(X, APInt::getHighBitsSet(SrcWidth, ShAmt), 0, &I)) 894 NewShl->setHasNoUnsignedWrap(I.hasNoUnsignedWrap()); 895 NewShl->setHasNoSignedWrap(I.hasNoSignedWrap()); 917 if (!I.hasNoUnsignedWrap() && 918 MaskedValueIsZero(Op0, APInt::getHighBitsSet(BitWidth, ShAmt), 0, &I)) { 919 I.setHasNoUnsignedWrap(); 920 return &I; 924 if (!I.hasNoSignedWrap() && ComputeNumSignBits(Op0, 0, &I) > ShAmt) { 924 if (!I.hasNoSignedWrap() && ComputeNumSignBits(Op0, 0, &I) > ShAmt) { 925 I.setHasNoSignedWrap(); 926 return &I;