Lines Matching defs:Locs
415 SmallVector<MachineLoc, 8> Locs;
416 /// Used to map the index of each location in Locs back to the index of its
431 auto It = find(Locs, ML);
432 if (It == Locs.end()) {
433 Locs.push_back(ML);
436 // ML duplicates an element in Locs; replace references to Op
438 unsigned OpIdx = Locs.size();
439 unsigned DuplicatingIdx = std::distance(Locs.begin(), It);
478 assert(VL.Locs.size() == 1 &&
479 VL.Locs[0].Kind == MachineLocKind::RegisterKind);
482 VL.Locs[0].Value.RegNo = Reg;
493 assert(VL.Locs.size() == 1 &&
494 VL.Locs[0].Kind == MachineLocKind::RegisterKind);
507 assert(VL.Locs.size() == 1 &&
508 VL.Locs[0].Kind == MachineLocKind::RegisterKind);
511 VL.Locs[0].Value.RegNo = NewReg;
520 for (MachineLoc &ML : VL.Locs)
534 for (MachineLoc &ML : VL.Locs)
558 for (unsigned I = 0, E = Locs.size(); I < E; ++I) {
559 MachineLocKind LocKind = Locs[I].Kind;
560 MachineLocValue Loc = Locs[I].Value;
641 return is_contained(Locs, RegML);
646 for (unsigned Idx = 0; Idx < Locs.size(); ++Idx)
647 if (Locs[Idx].Kind == MachineLocKind::RegisterKind &&
648 Register{static_cast<unsigned>(Locs[Idx].Value.RegNo)} == Reg)
650 llvm_unreachable("Could not find given Reg in Locs");
657 for (const auto &Loc : Locs)
666 return any_of(Locs, [](VarLoc::MachineLoc ML) {
677 return is_contained(Locs, SpillML);
683 for (unsigned Idx = 0; Idx < Locs.size(); ++Idx)
684 if (Locs[Idx].Kind == MachineLocKind::SpillLocKind &&
685 Locs[Idx].Value.SpillLocation == SpillLocation)
687 llvm_unreachable("Could not find given SpillLoc in Locs");
691 return any_of(Locs, [](VarLoc::MachineLoc ML) {
702 return is_contained(Locs, WasmML);
716 for (const MachineLoc &MLoc : Locs) {
717 if (Locs.begin() != &MLoc)
768 return std::tie(EVKind, Var, Expr, Locs) ==
769 std::tie(Other.EVKind, Other.Var, Other.Expr, Other.Locs);
774 return std::tie(Var, EVKind, Locs, Expr) <
775 std::tie(Other.Var, Other.EVKind, Other.Locs, Other.Expr);
989 VarLocSet &getVarLocsInMBB(const MachineBasicBlock *MBB, VarLocInMBB &Locs) {
990 std::unique_ptr<VarLocSet> &VLS = Locs[MBB];
997 const VarLocInMBB &Locs) const {
998 auto It = Locs.find(MBB);
999 assert(It != Locs.end() && "MBB not in map");
1317 if (std::tie(EntryVL.Var, EntryVL.Locs[0].Value.RegNo, EntryVL.Expr) ==
1318 std::tie(EmittedEV.Var, EmittedEV.Locs[0].Value.RegNo,
1489 EntryVL.Locs[0].Value.RegNo);
1778 VarLoc::MachineLoc OldLoc = VL.Locs[SpillLocIdx];
1827 VarLoc::MachineLoc MLoc = VL.Locs[LocIdx];