Lines Matching defs:Loc

98 static void consumeOneOperator(DIExpressionCursor &Cursor, uint64_t &Loc,
101 Loc = Loc + Op.getSize();
105 void startFromBeginning(uint64_t &Loc, DIExpressionCursor &Cursor,
108 Loc = 0;
117 uint64_t Loc = 0;
119 while (Loc < WorkingOps.size()) {
129 consumeOneOperator(Cursor, Loc, *Cursor.peek());
136 consumeOneOperator(Cursor, Loc, *Cursor.peek());
139 uint64_t PrevLoc = Loc;
140 consumeOneOperator(Cursor, Loc, *Cursor.peek());
141 ResultOps.append(WorkingOps.begin() + PrevLoc, WorkingOps.begin() + Loc);
152 uint64_t Loc = 0;
154 while (Loc < WorkingOps.size()) {
163 consumeOneOperator(Cursor, Loc, *Cursor.peek());
170 uint64_t PrevLoc = Loc;
171 consumeOneOperator(Cursor, Loc, *Cursor.peek());
172 ResultOps.append(WorkingOps.begin() + PrevLoc, WorkingOps.begin() + Loc);
180 consumeOneOperator(Cursor, Loc, *Cursor.peek());
181 consumeOneOperator(Cursor, Loc, *Cursor.peek());
184 uint64_t PrevLoc = Loc;
185 consumeOneOperator(Cursor, Loc, *Cursor.peek());
186 ResultOps.append(WorkingOps.begin() + PrevLoc, WorkingOps.begin() + Loc);
195 uint64_t &Loc, DIExpressionCursor &Cursor,
199 WorkingOps.erase(WorkingOps.begin() + Loc, WorkingOps.begin() + Loc + 3);
200 startFromBeginning(Loc, Cursor, WorkingOps);
211 uint64_t &Loc, DIExpressionCursor &Cursor,
221 consumeOneOperator(Cursor, Loc, Ops[0]);
224 WorkingOps.erase(WorkingOps.begin() + Loc + 2, WorkingOps.begin() + Loc + 5);
225 WorkingOps[Loc] = dwarf::DW_OP_constu;
226 WorkingOps[Loc + 1] = *Result;
227 startFromBeginning(Loc, Cursor, WorkingOps);
236 uint64_t &Loc, DIExpressionCursor &Cursor,
248 consumeOneOperator(Cursor, Loc, Ops[0]);
251 WorkingOps.erase(WorkingOps.begin() + Loc + 3, WorkingOps.begin() + Loc + 6);
252 WorkingOps[Loc] = dwarf::DW_OP_constu;
253 WorkingOps[Loc + 1] = *Result;
254 startFromBeginning(Loc, Cursor, WorkingOps);
263 uint64_t Const1, ArrayRef<DIExpression::ExprOperand> Ops, uint64_t &Loc,
278 consumeOneOperator(Cursor, Loc, Ops[0]);
281 WorkingOps.erase(WorkingOps.begin() + Loc + 6, WorkingOps.begin() + Loc + 9);
282 WorkingOps[Loc] = dwarf::DW_OP_constu;
283 WorkingOps[Loc + 1] = *Result;
284 startFromBeginning(Loc, Cursor, WorkingOps);
291 uint64_t Loc = 0;
298 while (Loc < ResultOps.size()) {
310 consumeOneOperator(Cursor, Loc, *Op);
324 if (tryFoldNoOpMath(*Const1, Ops, Loc, Cursor, ResultOps))
330 consumeOneOperator(Cursor, Loc, Ops[0]);
337 if (tryFoldConstants(*Const1, Ops, Loc, Cursor, ResultOps))
343 consumeOneOperator(Cursor, Loc, Ops[0]);
350 if (tryFoldCommutativeMath(*Const1, Ops, Loc, Cursor, ResultOps))
355 consumeOneOperator(Cursor, Loc, Ops[0]);
362 consumeOneOperator(Cursor, Loc, Ops[0]);
370 if (tryFoldCommutativeMathWithArgInBetween(*Const1, Ops, Loc, Cursor,
374 consumeOneOperator(Cursor, Loc, Ops[0]);