1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

LiveIntervals: Return index from replaceMachineInstrInMaps

Fixes weird asymmetry with insertion

llvm-svn: 276678
This commit is contained in:
Matt Arsenault 2016-07-25 19:39:04 +00:00
parent 3e23d35ce5
commit ae2e679ac3
2 changed files with 7 additions and 5 deletions

View File

@ -253,8 +253,8 @@ extern cl::opt<bool> UseSegmentSetForPhysRegs;
Indexes->removeMachineInstrFromMaps(MI);
}
void ReplaceMachineInstrInMaps(MachineInstr &MI, MachineInstr &NewMI) {
Indexes->replaceMachineInstrInMaps(MI, NewMI);
SlotIndex ReplaceMachineInstrInMaps(MachineInstr &MI, MachineInstr &NewMI) {
return Indexes->replaceMachineInstrInMaps(MI, NewMI);
}
VNInfo::Allocator& getVNInfoAllocator() { return VNInfoAllocator; }

View File

@ -632,11 +632,12 @@ namespace llvm {
}
/// ReplaceMachineInstrInMaps - Replacing a machine instr with a new one in
/// maps used by register allocator.
void replaceMachineInstrInMaps(MachineInstr &MI, MachineInstr &NewMI) {
/// maps used by register allocator. \returns the index where the new
/// instruction was inserted.
SlotIndex replaceMachineInstrInMaps(MachineInstr &MI, MachineInstr &NewMI) {
Mi2IndexMap::iterator mi2iItr = mi2iMap.find(&MI);
if (mi2iItr == mi2iMap.end())
return;
return SlotIndex();
SlotIndex replaceBaseIndex = mi2iItr->second;
IndexListEntry *miEntry(replaceBaseIndex.listEntry());
assert(miEntry->getInstr() == &MI &&
@ -644,6 +645,7 @@ namespace llvm {
miEntry->setInstr(&NewMI);
mi2iMap.erase(mi2iItr);
mi2iMap.insert(std::make_pair(&NewMI, replaceBaseIndex));
return replaceBaseIndex;
}
/// Add the given MachineBasicBlock into the maps.