Lines Matching refs:MipsRelocs
299 // Return true if MipsRelocs[Index] is a *LO16 preceded by a matching *HI16.
302 std::vector<MipsRelocationEntry> &MipsRelocs) {
303 return Index < MipsRelocs.size() - 1 &&
304 areMatchingHiAndLo(Asm, MipsRelocs[Index + 1].R, MipsRelocs[Index].R);
307 // Return true if MipsRelocs[Index] is a *LO16 not preceded by a matching *HI16
310 std::vector<MipsRelocationEntry> &MipsRelocs) {
311 return Index < MipsRelocs.size() && !MipsRelocs[Index].HasMatchingHi &&
312 !isPrecededByMatchingHi(Asm, Index, MipsRelocs);
371 // Init MipsRelocs from Relocs.
372 std::vector<MipsRelocationEntry> MipsRelocs;
374 MipsRelocs.push_back(MipsRelocationEntry(Relocs[I]));
377 for (int32_t I = 0, E = MipsRelocs.size(); I != E; ++I) {
378 if (getMatchingLoType(Asm, MipsRelocs[I].R) == ELF::R_MIPS_NONE ||
379 (I > 0 && isPrecededByMatchingHi(Asm, I - 1, MipsRelocs)))
385 for (int32_t J = MipsRelocs.size() - 1, N = -1; J != N; --J) {
387 if (areMatchingHiAndLo(Asm, MipsRelocs[I].R, MipsRelocs[J].R) &&
391 (MatchedLoIndex > J && isFreeLo(Asm, J, MipsRelocs))))
397 setMatch(MipsRelocs[I], MipsRelocs[MatchedLoIndex]);
401 array_pod_sort(MipsRelocs.begin(), MipsRelocs.end(), cmpRelMips);
403 // Copy sorted MipsRelocs back to Relocs.
404 for (unsigned I = 0, E = MipsRelocs.size(); I != E; ++I)
405 Relocs[I] = MipsRelocs[I].R;