Lines Matching refs:Shl
1678 bool IsShl = ShiftOpcode == Instruction::Shl; in foldICmpAndShift()
1683 if (ShiftOpcode == Instruction::Shl) { in foldICmpAndShift()
2058 static Instruction *foldICmpShlOne(ICmpInst &Cmp, Instruction *Shl, in foldICmpShlOne() argument
2061 if (!match(Shl, m_Shl(m_One(), m_Value(Y)))) in foldICmpShlOne()
2064 Type *ShiftType = Shl->getType(); in foldICmpShlOne()
2121 BinaryOperator *Shl, in foldICmpShlConstant() argument
2124 if (Cmp.isEquality() && match(Shl->getOperand(0), m_APInt(ShiftVal))) in foldICmpShlConstant()
2125 return foldICmpShlConstConst(Cmp, Shl->getOperand(1), C, *ShiftVal); in foldICmpShlConstant()
2128 if (!match(Shl->getOperand(1), m_APInt(ShiftAmt))) in foldICmpShlConstant()
2129 return foldICmpShlOne(Cmp, Shl, C); in foldICmpShlConstant()
2138 Value *X = Shl->getOperand(0); in foldICmpShlConstant()
2139 Type *ShType = Shl->getType(); in foldICmpShlConstant()
2144 if (Shl->hasNoSignedWrap()) { in foldICmpShlConstant()
2174 if (Shl->hasNoUnsignedWrap()) { in foldICmpShlConstant()
2196 if (Cmp.isEquality() && Shl->hasOneUse()) { in foldICmpShlConstant()
2201 Value *And = Builder.CreateAnd(X, Mask, Shl->getName() + ".mask"); in foldICmpShlConstant()
2208 if (Shl->hasOneUse() && isSignBitCheck(Pred, C, TrueIfSigned)) { in foldICmpShlConstant()
2213 Value *And = Builder.CreateAnd(X, Mask, Shl->getName() + ".mask"); in foldICmpShlConstant()
2219 if (Cmp.isUnsigned() && Shl->hasOneUse()) { in foldICmpShlConstant()
2246 if (Shl->hasOneUse() && Amt != 0 && C.countTrailingZeros() >= Amt && in foldICmpShlConstant()
3418 case Instruction::Shl: in foldICmpBinOpWithConstant()
4466 case Instruction::Shl: { in foldICmpBinOp()