mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
Instructions inside a bundle have the same number as the bundle itself.
SlotIndexes are not assigned to instructions inside bundles, but it is still valid to look up the index of those instructions. The reverse getInstructionFromIndex() will return the first instruction in the bundle. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151672 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c46255a32e
commit
b62fbc5e46
@ -493,8 +493,12 @@ namespace llvm {
|
||||
}
|
||||
|
||||
/// Returns the base index for the given instruction.
|
||||
SlotIndex getInstructionIndex(const MachineInstr *instr) const {
|
||||
Mi2IndexMap::const_iterator itr = mi2iMap.find(instr);
|
||||
SlotIndex getInstructionIndex(const MachineInstr *MI) const {
|
||||
// Instructions inside a bundle have the same number as the bundle itself.
|
||||
MachineBasicBlock::const_instr_iterator I = MI;
|
||||
while (I->isInsideBundle())
|
||||
--I;
|
||||
Mi2IndexMap::const_iterator itr = mi2iMap.find(I);
|
||||
assert(itr != mi2iMap.end() && "Instruction not found in maps.");
|
||||
return itr->second;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user