Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:locations

116   /// Numbered locations referenced by locmap.
117 SmallVector<MachineOperand, 4> locations;
181 // For register locations we dont care about use/def and other flags.
182 for (unsigned i = 0, e = locations.size(); i != e; ++i)
183 if (locations[i].isReg() &&
184 locations[i].getReg() == LocMO.getReg() &&
185 locations[i].getSubReg() == LocMO.getSubReg())
188 for (unsigned i = 0, e = locations.size(); i != e; ++i)
189 if (LocMO.isIdenticalTo(locations[i]))
191 locations.push_back(LocMO);
193 locations.back().clearParent();
195 if (locations.back().isReg())
196 locations.back().setIsUse();
197 return locations.size() - 1;
200 /// mapVirtRegs - Ensure that all virtual register locations are mapped.
244 /// computeIntervals - Compute the live intervals of all locations after
250 /// renameRegister - Update locations to rewrite OldReg as NewReg:SubIdx.
258 /// rewriteLocations - Rewrite virtual register locations according to the
364 for (unsigned i = 0, e = locations.size(); i != e; ++i) {
366 locations[i].print(OS, TM);
379 for (unsigned e = locations.size(); KeepLoc != e; ++KeepLoc) {
382 if (locations[KeepLoc].isIdenticalTo(locations[LocNo]))
386 if (KeepLoc == locations.size())
393 locations.erase(locations.begin() + EraseLoc);
406 for (unsigned i = 0, e = locations.size(); i != e; ++i)
407 if (locations[i].isReg() &&
408 TargetRegisterInfo::isVirtualRegister(locations[i].getReg()))
409 LDV->mapVirtReg(locations[i].getReg(), this);
635 const MachineOperand &Loc = locations[LocNo];
637 // Register locations are constrained to where the register value is live.
703 for (unsigned i = locations.size(); i; --i) {
705 MachineOperand &Loc = locations[LocNo];
776 MO.setSubReg(locations[OldLocNo].getSubReg());
821 locations.erase(locations.begin() + OldLocNo);
843 // Split locations referring to OldReg. Iterate backwards so splitLocation can
844 // safely erase unused locations.
845 for (unsigned i = locations.size(); i ; --i) {
847 const MachineOperand *Loc = &locations[LocNo];
877 // Iterate over locations in reverse makes it easier to handle coalescing.
878 for (unsigned i = locations.size(); i ; --i) {
880 MachineOperand &Loc = locations[LocNo];
937 MachineOperand &Loc = locations[LocNo];
940 // Frame index locations may require a target callback.