Lines Matching refs:Op0
70 Value *Op0; member
73 PreconditionTy(CmpInst::Predicate Pred, Value *Op0, Value *Op1) in PreconditionTy()
74 : Pred(Pred), Op0(Op0), Op1(Op1) {} in PreconditionTy()
152 ConstraintTy getConstraint(CmpInst::Predicate Pred, Value *Op0, Value *Op1,
202 Value *Op0, *Op1; in decompose() local
207 m_ZExt(m_Value(Op0)))) { in decompose()
208 if (match(Op0, m_NUWShl(m_Value(Op1), m_ConstantInt(CI))) && in decompose()
213 if (match(Op0, m_NSWAdd(m_Value(Op1), m_ConstantInt(CI))) && in decompose()
218 return {{0, nullptr}, {1, GEP->getPointerOperand()}, {1, Op0}}; in decompose()
227 m_NUWShl(m_Value(Op0), m_ConstantInt(CI))) && in decompose()
231 {std::pow(int64_t(2), CI->getSExtValue()), Op0}}; in decompose()
233 m_NSWAdd(m_Value(Op0), m_ConstantInt(CI))) && in decompose()
237 {1, Op0}}; in decompose()
239 Op0 = GEP->getOperand(GEP->getNumOperands() - 1); in decompose()
240 Result = {{0, nullptr}, {1, GEP->getPointerOperand()}, {1, Op0}}; in decompose()
244 Preconditions.emplace_back(CmpInst::ICMP_SGE, Op0, in decompose()
245 ConstantInt::get(Op0->getType(), 0)); in decompose()
249 Value *Op0; in decompose() local
250 if (match(V, m_ZExt(m_Value(Op0)))) in decompose()
251 V = Op0; in decompose()
255 if (match(V, m_NUWAdd(m_Value(Op0), m_ConstantInt(CI))) && in decompose()
257 return {{CI->getZExtValue(), nullptr}, {1, Op0}}; in decompose()
258 if (match(V, m_Add(m_Value(Op0), m_ConstantInt(CI))) && CI->isNegative() && in decompose()
261 CmpInst::ICMP_UGE, Op0, in decompose()
262 ConstantInt::get(Op0->getType(), CI->getSExtValue() * -1)); in decompose()
263 return {{CI->getSExtValue(), nullptr}, {1, Op0}}; in decompose()
265 if (match(V, m_NUWAdd(m_Value(Op0), m_Value(Op1)))) in decompose()
266 return {{0, nullptr}, {1, Op0}, {1, Op1}}; in decompose()
268 if (match(V, m_NUWSub(m_Value(Op0), m_ConstantInt(CI))) && CanUseSExt(CI)) in decompose()
269 return {{-1 * CI->getSExtValue(), nullptr}, {1, Op0}}; in decompose()
270 if (match(V, m_NUWSub(m_Value(Op0), m_Value(Op1)))) in decompose()
271 return {{0, nullptr}, {1, Op0}, {-1, Op1}}; in decompose()
277 ConstraintInfo::getConstraint(CmpInst::Predicate Pred, Value *Op0, Value *Op1, in getConstraint() argument
287 std::swap(Op0, Op1); in getConstraint()
302 std::swap(Op0, Op1); in getConstraint()
316 auto ADec = decompose(Op0->stripPointerCastsSameRepresentation(), in getConstraint()
375 return Info.doesHold(C.Pred, C.Op0, C.Op1); in isValid()
537 Value *Op0, *Op1; in addInfoFor() local
538 if (match(Br->getCondition(), m_LogicalOr(m_Value(Op0), m_Value(Op1))) && in addInfoFor()
539 isa<ICmpInst>(Op0) && isa<ICmpInst>(Op1)) { in addInfoFor()
542 WorkList.emplace_back(DT.getNode(FalseSuccessor), cast<ICmpInst>(Op0), in addInfoFor()
553 if (match(Br->getCondition(), m_LogicalAnd(m_Value(Op0), m_Value(Op1))) && in addInfoFor()
554 isa<ICmpInst>(Op0) && isa<ICmpInst>(Op1)) { in addInfoFor()
557 WorkList.emplace_back(DT.getNode(TrueSuccessor), cast<ICmpInst>(Op0), in addInfoFor()