Lines Matching defs:Op
19 /// Returns true if the Op is a DW_OP_constu.
20 static std::optional<uint64_t> isConstantVal(DIExpression::ExprOperand Op) {
21 if (Op.getOp() == dwarf::DW_OP_constu)
22 return Op.getArg(0);
26 /// Returns true if an operation and operand result in a No Op.
27 static bool isNeutralElement(uint64_t Op, uint64_t Val) {
28 switch (Op) {
99 const DIExpression::ExprOperand &Op) {
101 Loc = Loc + Op.getSize();
120 auto Op = Cursor.peek();
122 if (!Op)
124 auto OpRaw = Op->getOp();
134 ResultOps.push_back(Op->getArg(0));
301 auto Op = Cursor.peek();
303 if (!Op)
306 auto Const1 = isConstantVal(*Op);
310 consumeOneOperator(Cursor, Loc, *Op);
314 Ops.push_back(*Op);
316 Op = Cursor.peekNext();
318 if (!Op)
321 Ops.push_back(*Op);
327 Op = Cursor.peekNextN(2);
328 // Op[1] could still match a pattern, skip iteration.
329 if (!Op) {
334 Ops.push_back(*Op);
340 Op = Cursor.peekNextN(3);
341 // Op[1] and Op[2] could still match a pattern, skip iteration.
342 if (!Op) {
347 Ops.push_back(*Op);
353 Op = Cursor.peekNextN(4);
354 if (!Op) {
359 Ops.push_back(*Op);
360 Op = Cursor.peekNextN(5);
361 if (!Op) {
366 Ops.push_back(*Op);