Lines Matching defs:EndPoints
1255 static bool tryMergeRange(SmallVectorImpl<ConstantInt *> &EndPoints,
1258 unsigned Size = EndPoints.size();
1259 const APInt &LB = EndPoints[Size - 2]->getValue();
1260 const APInt &LE = EndPoints[Size - 1]->getValue();
1265 EndPoints[Size - 2] =
1267 EndPoints[Size - 1] =
1274 static void addRange(SmallVectorImpl<ConstantInt *> &EndPoints,
1276 if (!EndPoints.empty())
1277 if (tryMergeRange(EndPoints, Low, High))
1280 EndPoints.push_back(Low);
1281 EndPoints.push_back(High);
1297 SmallVector<ConstantInt *, 4> EndPoints;
1307 addRange(EndPoints, ALow,
1311 addRange(EndPoints, BLow,
1317 addRange(EndPoints, mdconst::extract<ConstantInt>(A->getOperand(2 * AI)),
1322 addRange(EndPoints, mdconst::extract<ConstantInt>(B->getOperand(2 * BI)),
1330 unsigned Size = EndPoints.size();
1332 ConstantInt *FB = EndPoints[0];
1333 ConstantInt *FE = EndPoints[1];
1334 if (tryMergeRange(EndPoints, FB, FE)) {
1336 EndPoints[i] = EndPoints[i + 2];
1338 EndPoints.resize(Size - 2);
1344 if (EndPoints.size() == 2) {
1345 ConstantRange Range(EndPoints[0]->getValue(), EndPoints[1]->getValue());
1351 MDs.reserve(EndPoints.size());
1352 for (auto *I : EndPoints)