Lines Matching refs:OperandSide
32 enum class OperandSide { Left, Right }; enum
71 const Expr *operandExpr(OperandSide Side) const { in operandExpr()
72 return Side == OperandSide::Left ? Op->getLHS() : Op->getRHS(); in operandExpr()
81 bool assumeRequirement(OperandSide Side, BinaryOperator::Opcode Cmp, unsigned Limit);
83 void recordAssumption(OperandSide Side, BinaryOperator::Opcode Cmp, unsigned Limit);
89 BugReportPtr checkOperandNegative(OperandSide Side);
107 if (BugReportPtr BR = checkOperandNegative(OperandSide::Right)) { in run()
114 if (BugReportPtr BR = checkOperandNegative(OperandSide::Left)) { in run()
135 bool BitwiseShiftValidator::assumeRequirement(OperandSide Side, in assumeRequirement()
168 if (assumeRequirement(OperandSide::Right, BO_LT, LHSBitWidth)) in checkOvershift()
171 const SVal Right = Ctx.getSVal(operandExpr(OperandSide::Right)); in checkOvershift()
205 BugReportPtr BitwiseShiftValidator::checkOperandNegative(OperandSide Side) { in checkOperandNegative()
215 Side == OperandSide::Left ? "Left" : "Right", in checkOperandNegative()
221 Side == OperandSide::Left ? "left" : "right") in checkOperandNegative()
236 const Expr *LHS = operandExpr(OperandSide::Left); in checkLeftShiftOverflow()
262 if (assumeRequirement(OperandSide::Right, BO_LT, MaximalAllowedShift + 1)) in checkLeftShiftOverflow()
297 void BitwiseShiftValidator::recordAssumption(OperandSide Side, in recordAssumption()
303 NonNegOperands |= (Side == OperandSide::Left ? NonNegLeft : NonNegRight); in recordAssumption()
306 assert(Side == OperandSide::Right); in recordAssumption()