Lines Matching defs:Cursor
98 static void consumeOneOperator(DIExpressionCursor &Cursor, uint64_t &Loc,
100 Cursor.consume(1);
104 /// Reset the Cursor to the beginning of the WorkingOps.
105 void startFromBeginning(uint64_t &Loc, DIExpressionCursor &Cursor,
107 Cursor.assignNewExpr(WorkingOps);
116 DIExpressionCursor Cursor(WorkingOps);
120 auto Op = Cursor.peek();
129 consumeOneOperator(Cursor, Loc, *Cursor.peek());
136 consumeOneOperator(Cursor, Loc, *Cursor.peek());
140 consumeOneOperator(Cursor, Loc, *Cursor.peek());
151 DIExpressionCursor Cursor(WorkingOps);
155 auto Op1 = Cursor.peek();
163 consumeOneOperator(Cursor, Loc, *Cursor.peek());
167 auto Op2 = Cursor.peekNext();
171 consumeOneOperator(Cursor, Loc, *Cursor.peek());
180 consumeOneOperator(Cursor, Loc, *Cursor.peek());
181 consumeOneOperator(Cursor, Loc, *Cursor.peek());
185 consumeOneOperator(Cursor, Loc, *Cursor.peek());
195 uint64_t &Loc, DIExpressionCursor &Cursor,
200 startFromBeginning(Loc, Cursor, WorkingOps);
211 uint64_t &Loc, DIExpressionCursor &Cursor,
221 consumeOneOperator(Cursor, Loc, Ops[0]);
227 startFromBeginning(Loc, Cursor, WorkingOps);
236 uint64_t &Loc, DIExpressionCursor &Cursor,
248 consumeOneOperator(Cursor, Loc, Ops[0]);
254 startFromBeginning(Loc, Cursor, WorkingOps);
264 DIExpressionCursor &Cursor, SmallVectorImpl<uint64_t> &WorkingOps) {
278 consumeOneOperator(Cursor, Loc, Ops[0]);
284 startFromBeginning(Loc, Cursor, WorkingOps);
293 DIExpressionCursor Cursor(ResultOps);
301 auto Op = Cursor.peek();
310 consumeOneOperator(Cursor, Loc, *Op);
316 Op = Cursor.peekNext();
324 if (tryFoldNoOpMath(*Const1, Ops, Loc, Cursor, ResultOps))
327 Op = Cursor.peekNextN(2);
330 consumeOneOperator(Cursor, Loc, Ops[0]);
337 if (tryFoldConstants(*Const1, Ops, Loc, Cursor, ResultOps))
340 Op = Cursor.peekNextN(3);
343 consumeOneOperator(Cursor, Loc, Ops[0]);
350 if (tryFoldCommutativeMath(*Const1, Ops, Loc, Cursor, ResultOps))
353 Op = Cursor.peekNextN(4);
355 consumeOneOperator(Cursor, Loc, Ops[0]);
360 Op = Cursor.peekNextN(5);
362 consumeOneOperator(Cursor, Loc, Ops[0]);
370 if (tryFoldCommutativeMathWithArgInBetween(*Const1, Ops, Loc, Cursor,
374 consumeOneOperator(Cursor, Loc, Ops[0]);