Lines Matching defs:Const2
42 /// Try to fold \p Const1 and \p Const2 by applying \p Operator and returning
45 foldOperationIfPossible(uint64_t Const1, uint64_t Const2,
51 auto Result = SaturatingAdd(Const1, Const2, &ResultOverflowed);
57 if (Const1 < Const2)
59 return Const1 - Const2;
62 if (Const2 >= std::numeric_limits<uint64_t>::digits ||
63 static_cast<uint64_t>(countl_zero(Const1)) < Const2)
65 return Const1 << Const2;
68 if (Const2 >= std::numeric_limits<uint64_t>::digits ||
69 static_cast<uint64_t>(countr_zero(Const1)) < Const2)
71 return Const1 >> Const2;
74 auto Result = SaturatingMultiply(Const1, Const2, &ResultOverflowed);
80 if (Const2)
81 return Const1 / Const2;
206 /// {DW_OP_constu, Const1, DW_OP_constu, Const2, DW_OP_[plus,
208 /// Const2}
214 auto Const2 = isConstantVal(Ops[1]);
215 if (!Const2)
219 Const1, *Const2, static_cast<dwarf::LocationAtom>(Ops[2].getOp()));
231 /// {DW_OP_constu, Const1, DW_OP_[plus, mul], DW_OP_constu, Const2,
232 /// DW_OP_[plus, mul]} -> {DW_OP_constu, Const1 [+, *] Const2, DW_OP_[plus,
239 auto Const2 = isConstantVal(Ops[2]);
243 if (!Const2 || !operationsAreFoldableAndCommutative(Operand1, Operand2))
246 auto Result = foldOperationIfPossible(Const1, *Const2, Operand1);
259 /// DW_OP_[plus, mul], DW_OP_constu, Const2, DW_OP_[plus, mul]} ->
260 /// {DW_OP_constu, Const1 [+, *] Const2, DW_OP_[plus, mul], DW_OP_LLVM_arg,
266 auto Const2 = isConstantVal(Ops[4]);
271 if (!Const2 || Ops[2].getOp() != dwarf::DW_OP_LLVM_arg ||
276 auto Result = foldOperationIfPossible(Const1, *Const2, Operand1);