Lines Matching defs:LHSI

4094   Instruction *LHSI = dyn_cast<Instruction>(Op0);
4095 if (!RHSC || !LHSI)
4098 switch (LHSI->getOpcode()) {
4100 if (Instruction *NV = foldOpIntoPhi(I, cast<PHINode>(LHSI)))
4106 DL.getIntPtrType(RHSC->getType()) == LHSI->getOperand(0)->getType())
4108 I.getPredicate(), LHSI->getOperand(0),
4109 Constant::getNullValue(LHSI->getOperand(0)->getType()));
4115 dyn_cast<GetElementPtrInst>(LHSI->getOperand(0)))
4118 foldCmpLoadFromIndexedGlobal(cast<LoadInst>(LHSI), GEP, GV, I))
7604 Instruction *LHSI,
7612 int MantissaWidth = LHSI->getType()->getFPMantissaWidth();
7615 Type *IntTy = LHSI->getOperand(0)->getType();
7617 bool LHSUnsigned = isa<UIToFPInst>(LHSI);
7834 return new ICmpInst(Pred, LHSI->getOperand(0),
7835 ConstantInt::get(LHSI->getOperand(0)->getType(), RHSInt));
7839 static Instruction *foldFCmpReciprocalAndZero(FCmpInst &I, Instruction *LHSI,
7866 if (!LHSI->hasNoInfs() || !I.hasNoInfs())
7872 if (!match(LHSI->getOperand(0), m_APFloat(C)))
7882 return new FCmpInst(Pred, LHSI->getOperand(1), RHSC, "", &I);
8005 static Instruction *foldFCmpFSubIntoFCmp(FCmpInst &I, Instruction *LHSI,
8008 Value *X = LHSI->getOperand(0);
8009 Value *Y = LHSI->getOperand(1);
8023 if (!LHSI->hasNoNaNs() && !LHSI->hasNoInfs() &&
8040 LHSI->getType()->getScalarType()->getFltSemantics()) ==
8208 Instruction *LHSI;
8210 if (match(Op0, m_Instruction(LHSI)) && match(Op1, m_Constant(RHSC))) {
8211 switch (LHSI->getOpcode()) {
8215 (match(LHSI,
8217 match(LHSI, m_Select(m_Value(), m_FNeg(m_Value(X)), m_Deferred(X)))))
8219 if (Instruction *NV = FoldOpIntoSelect(I, cast<SelectInst>(LHSI)))
8223 if (LHSI->hasOneUse())
8224 if (Instruction *NV = foldFCmpFSubIntoFCmp(I, LHSI, RHSC, *this))
8228 if (Instruction *NV = foldOpIntoPhi(I, cast<PHINode>(LHSI)))
8233 if (Instruction *NV = foldFCmpIntToFPConst(I, LHSI, RHSC))
8237 if (Instruction *NV = foldFCmpReciprocalAndZero(I, LHSI, RHSC))
8241 if (auto *GEP = dyn_cast<GetElementPtrInst>(LHSI->getOperand(0)))
8244 cast<LoadInst>(LHSI), GEP, GV, I))