Lines Matching defs:EndPoints
1249 static bool tryMergeRange(SmallVectorImpl<ConstantInt *> &EndPoints,
1252 unsigned Size = EndPoints.size();
1253 APInt LB = EndPoints[Size - 2]->getValue();
1254 APInt LE = EndPoints[Size - 1]->getValue();
1259 EndPoints[Size - 2] =
1261 EndPoints[Size - 1] =
1268 static void addRange(SmallVectorImpl<ConstantInt *> &EndPoints,
1270 if (!EndPoints.empty())
1271 if (tryMergeRange(EndPoints, Low, High))
1274 EndPoints.push_back(Low);
1275 EndPoints.push_back(High);
1291 SmallVector<ConstantInt *, 4> EndPoints;
1301 addRange(EndPoints, ALow,
1305 addRange(EndPoints, BLow,
1311 addRange(EndPoints, mdconst::extract<ConstantInt>(A->getOperand(2 * AI)),
1316 addRange(EndPoints, mdconst::extract<ConstantInt>(B->getOperand(2 * BI)),
1324 unsigned Size = EndPoints.size();
1326 ConstantInt *FB = EndPoints[0];
1327 ConstantInt *FE = EndPoints[1];
1328 if (tryMergeRange(EndPoints, FB, FE)) {
1330 EndPoints[i] = EndPoints[i + 2];
1332 EndPoints.resize(Size - 2);
1338 if (EndPoints.size() == 2) {
1339 ConstantRange Range(EndPoints[0]->getValue(), EndPoints[1]->getValue());
1345 MDs.reserve(EndPoints.size());
1346 for (auto *I : EndPoints)