Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Index

222     for (SlotIndex index = I->start.getBaseIndex(),
224 index != end;
225 index = index.getNextIndex()) {
226 MachineInstr *MI = getInstructionFromIndex(index);
266 /// isPartialRedef - Return true if the specified def at the specific index is
393 "PHI def index points at actual instruction.");
658 "PHI def index points at actual instruction.");
684 // Track the index of the current machine instr.
927 // A LOAD index indicates an MBB edge.
967 /// which reaches the given instruction also reaches the specified use index.
1195 bool TrySplit, SlotIndex index, SlotIndex end,
1281 if (tryFoldMemoryOperand(MI, vrm, ReMatDefMI, index,
1362 LiveRange LR(index.getLoadIndex(), index.getDefIndex(),
1368 SlotIndex End = index.getDefIndex();
1379 index.getUseIndex() : index.getDefIndex(),
1380 index.getStoreIndex(),
1405 SlotIndex Index;
1407 RewriteInfo(SlotIndex i, MachineInstr *mi) : Index(i), MI(mi) {}
1412 return LHS.Index < RHS.Index;
1439 // Make sure they are sorted according to instruction index.
1471 SlotIndex index = getInstructionIndex(MI);
1472 if (index < start || index >= end)
1486 RewriteMIs.push_back(RewriteInfo(index, MI));
1495 SlotIndex index = rwi.Index;
1500 assert(RewriteMIs[i].Index == index);
1548 index, end, MI, ReMatOrigDefMI, ReMatDefMI,
1570 HasKill = anyKillInMBBAfterIdx(li, I->valno, MBB, index.getDefIndex());
1572 // If this is a two-address code, then this index starts a new VNInfo.
1573 const VNInfo *VNI = li.findDefinedVNInfoForRegInt(index.getDefIndex());
1575 HasKill = anyKillInMBBAfterIdx(li, VNI, MBB, index.getDefIndex());
1582 S.push_back(SRInfo(index, NewVReg, true));
1585 SII->second.push_back(SRInfo(index, NewVReg, true));
1586 } else if (index > SII->second.back().index) {
1591 Info.index = index;
1597 index > SII->second.back().index) {
1614 index > SII->second.back().index)
1627 Infos.push_back(SRInfo(index, NewVReg, true));
1630 RII->second.push_back(SRInfo(index, NewVReg, true));
1648 bool LiveIntervals::alsoFoldARestore(int Id, SlotIndex index,
1655 if (Restores[i].index == index &&
1662 void LiveIntervals::eraseRestoreInfo(int Id, SlotIndex index,
1669 if (Restores[i].index == index && Restores[i].vreg)
1670 Restores[i].index = SlotIndex();
1903 SlotIndex index = spills[i].index;
1907 MachineInstr *MI = getInstructionFromIndex(index);
1922 (!FoundUse && !alsoFoldARestore(Id, index, VReg,
1936 if (tryFoldMemoryOperand(MI, vrm, NULL, index, Ops, true, Slot,VReg)){
1940 eraseRestoreInfo(Id, index, VReg, RestoreMBBs, RestoreIdxes);
1941 nI.removeRange(index.getLoadIndex(), index.getDefIndex());
1943 nI.removeRange(index.getDefIndex(), index.getStoreIndex());
1950 bool isKill = LR->end == index.getStoreIndex();
1966 SlotIndex index = restores[i].index;
1967 if (index == SlotIndex())
1972 MachineInstr *MI = getInstructionFromIndex(index);
1996 Folded = tryFoldMemoryOperand(MI, vrm, NULL,index,Ops,true,Slot,VReg);
2003 Folded = tryFoldMemoryOperand(MI, vrm, ReMatDefMI, index,
2021 nI.removeRange(index.getLoadIndex(), index.getDefIndex());
2090 SlotIndex Index = getInstructionIndex(MI);
2091 if (pli.liveAt(Index))
2137 SlotIndex Index = getInstructionIndex(MI);
2142 if (!pli.liveAt(Index))
2145 SlotIndex StartIdx = Index.getLoadIndex();
2146 SlotIndex EndIdx = Index.getNextIndex().getBaseIndex();
2163 DEBUG(dbgs() << "Emergency spill around " << Index << '\t' << *MI);