mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily.
llvm-svn: 185512
This commit is contained in:
parent
cb5bf5d646
commit
d9a1ef8f1e
@ -72,7 +72,8 @@ private:
|
|||||||
class SDDbgInfo {
|
class SDDbgInfo {
|
||||||
SmallVector<SDDbgValue*, 32> DbgValues;
|
SmallVector<SDDbgValue*, 32> DbgValues;
|
||||||
SmallVector<SDDbgValue*, 32> ByvalParmDbgValues;
|
SmallVector<SDDbgValue*, 32> ByvalParmDbgValues;
|
||||||
DenseMap<const SDNode*, SmallVector<SDDbgValue*, 2> > DbgValMap;
|
typedef DenseMap<const SDNode*, SmallVector<SDDbgValue*, 2> > DbgValMapType;
|
||||||
|
DbgValMapType DbgValMap;
|
||||||
|
|
||||||
void operator=(const SDDbgInfo&) LLVM_DELETED_FUNCTION;
|
void operator=(const SDDbgInfo&) LLVM_DELETED_FUNCTION;
|
||||||
SDDbgInfo(const SDDbgInfo&) LLVM_DELETED_FUNCTION;
|
SDDbgInfo(const SDDbgInfo&) LLVM_DELETED_FUNCTION;
|
||||||
@ -98,14 +99,13 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
ArrayRef<SDDbgValue*> getSDDbgValues(const SDNode *Node) {
|
ArrayRef<SDDbgValue*> getSDDbgValues(const SDNode *Node) {
|
||||||
DenseMap<const SDNode*, SmallVector<SDDbgValue*, 2> >::iterator I =
|
DbgValMapType::iterator I = DbgValMap.find(Node);
|
||||||
DbgValMap.find(Node);
|
|
||||||
if (I != DbgValMap.end())
|
if (I != DbgValMap.end())
|
||||||
return I->second;
|
return I->second;
|
||||||
return ArrayRef<SDDbgValue*>();
|
return ArrayRef<SDDbgValue*>();
|
||||||
}
|
}
|
||||||
|
|
||||||
typedef SmallVector<SDDbgValue*,32>::iterator DbgIterator;
|
typedef SmallVectorImpl<SDDbgValue*>::iterator DbgIterator;
|
||||||
DbgIterator DbgBegin() { return DbgValues.begin(); }
|
DbgIterator DbgBegin() { return DbgValues.begin(); }
|
||||||
DbgIterator DbgEnd() { return DbgValues.end(); }
|
DbgIterator DbgEnd() { return DbgValues.end(); }
|
||||||
DbgIterator ByvalParmDbgBegin() { return ByvalParmDbgValues.begin(); }
|
DbgIterator ByvalParmDbgBegin() { return ByvalParmDbgValues.begin(); }
|
||||||
|
@ -388,7 +388,7 @@ findSuitableFreeRegister(RegRefIter RegRefBegin,
|
|||||||
continue;
|
continue;
|
||||||
// If NewReg overlaps any of the forbidden registers, we can't use it.
|
// If NewReg overlaps any of the forbidden registers, we can't use it.
|
||||||
bool Forbidden = false;
|
bool Forbidden = false;
|
||||||
for (SmallVector<unsigned, 2>::iterator it = Forbid.begin(),
|
for (SmallVectorImpl<unsigned>::iterator it = Forbid.begin(),
|
||||||
ite = Forbid.end(); it != ite; ++it)
|
ite = Forbid.end(); it != ite; ++it)
|
||||||
if (TRI->regsOverlap(NewReg, *it)) {
|
if (TRI->regsOverlap(NewReg, *it)) {
|
||||||
Forbidden = true;
|
Forbidden = true;
|
||||||
|
@ -573,7 +573,7 @@ void ExeDepsFix::visitSoftInstr(MachineInstr *mi, unsigned mask) {
|
|||||||
// Kill off any remaining uses that don't match available, and build a list of
|
// Kill off any remaining uses that don't match available, and build a list of
|
||||||
// incoming DomainValues that we want to merge.
|
// incoming DomainValues that we want to merge.
|
||||||
SmallVector<LiveReg, 4> Regs;
|
SmallVector<LiveReg, 4> Regs;
|
||||||
for (SmallVector<int, 4>::iterator i=used.begin(), e=used.end(); i!=e; ++i) {
|
for (SmallVectorImpl<int>::iterator i=used.begin(), e=used.end(); i!=e; ++i) {
|
||||||
int rx = *i;
|
int rx = *i;
|
||||||
const LiveReg &LR = LiveRegs[rx];
|
const LiveReg &LR = LiveRegs[rx];
|
||||||
// This useless DomainValue could have been missed above.
|
// This useless DomainValue could have been missed above.
|
||||||
@ -583,7 +583,7 @@ void ExeDepsFix::visitSoftInstr(MachineInstr *mi, unsigned mask) {
|
|||||||
}
|
}
|
||||||
// Sorted insertion.
|
// Sorted insertion.
|
||||||
bool Inserted = false;
|
bool Inserted = false;
|
||||||
for (SmallVector<LiveReg, 4>::iterator i = Regs.begin(), e = Regs.end();
|
for (SmallVectorImpl<LiveReg>::iterator i = Regs.begin(), e = Regs.end();
|
||||||
i != e && !Inserted; ++i) {
|
i != e && !Inserted; ++i) {
|
||||||
if (LR.Def < i->Def) {
|
if (LR.Def < i->Def) {
|
||||||
Inserted = true;
|
Inserted = true;
|
||||||
@ -614,7 +614,7 @@ void ExeDepsFix::visitSoftInstr(MachineInstr *mi, unsigned mask) {
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// If latest didn't merge, it is useless now. Kill all registers using it.
|
// If latest didn't merge, it is useless now. Kill all registers using it.
|
||||||
for (SmallVector<int,4>::iterator i=used.begin(), e=used.end(); i != e; ++i)
|
for (SmallVectorImpl<int>::iterator i=used.begin(), e=used.end(); i!=e; ++i)
|
||||||
if (LiveRegs[*i].Value == Latest)
|
if (LiveRegs[*i].Value == Latest)
|
||||||
kill(*i);
|
kill(*i);
|
||||||
}
|
}
|
||||||
|
@ -609,9 +609,9 @@ bool LiveVariables::runOnMachineFunction(MachineFunction &mf) {
|
|||||||
// if they have PHI nodes, and if so, we simulate an assignment at the end
|
// if they have PHI nodes, and if so, we simulate an assignment at the end
|
||||||
// of the current block.
|
// of the current block.
|
||||||
if (!PHIVarInfo[MBB->getNumber()].empty()) {
|
if (!PHIVarInfo[MBB->getNumber()].empty()) {
|
||||||
SmallVector<unsigned, 4>& VarInfoVec = PHIVarInfo[MBB->getNumber()];
|
SmallVectorImpl<unsigned> &VarInfoVec = PHIVarInfo[MBB->getNumber()];
|
||||||
|
|
||||||
for (SmallVector<unsigned, 4>::iterator I = VarInfoVec.begin(),
|
for (SmallVectorImpl<unsigned>::iterator I = VarInfoVec.begin(),
|
||||||
E = VarInfoVec.end(); I != E; ++I)
|
E = VarInfoVec.end(); I != E; ++I)
|
||||||
// Mark it alive only in the block we are representing.
|
// Mark it alive only in the block we are representing.
|
||||||
MarkVirtRegAliveInBlock(getVarInfo(*I),MRI->getVRegDef(*I)->getParent(),
|
MarkVirtRegAliveInBlock(getVarInfo(*I),MRI->getVRegDef(*I)->getParent(),
|
||||||
|
@ -537,8 +537,8 @@ MachineBasicBlock *MachineSinking::FindSuccToSinkTo(MachineInstr *MI,
|
|||||||
// We give successors with smaller loop depth higher priority.
|
// We give successors with smaller loop depth higher priority.
|
||||||
SmallVector<MachineBasicBlock*, 4> Succs(MBB->succ_begin(), MBB->succ_end());
|
SmallVector<MachineBasicBlock*, 4> Succs(MBB->succ_begin(), MBB->succ_end());
|
||||||
std::stable_sort(Succs.begin(), Succs.end(), SuccessorSorter(LI));
|
std::stable_sort(Succs.begin(), Succs.end(), SuccessorSorter(LI));
|
||||||
for (SmallVector<MachineBasicBlock*, 4>::iterator SI = Succs.begin(),
|
for (SmallVectorImpl<MachineBasicBlock *>::iterator SI = Succs.begin(),
|
||||||
E = Succs.end(); SI != E; ++SI) {
|
E = Succs.end(); SI != E; ++SI) {
|
||||||
MachineBasicBlock *SuccBlock = *SI;
|
MachineBasicBlock *SuccBlock = *SI;
|
||||||
bool LocalUse = false;
|
bool LocalUse = false;
|
||||||
if (AllUsesDominatedByBlock(Reg, SuccBlock, MBB,
|
if (AllUsesDominatedByBlock(Reg, SuccBlock, MBB,
|
||||||
@ -697,7 +697,7 @@ bool MachineSinking::SinkInstruction(MachineInstr *MI, bool &SawStore) {
|
|||||||
++MachineBasicBlock::iterator(MI));
|
++MachineBasicBlock::iterator(MI));
|
||||||
|
|
||||||
// Move debug values.
|
// Move debug values.
|
||||||
for (SmallVector<MachineInstr *, 2>::iterator DBI = DbgValuesToSink.begin(),
|
for (SmallVectorImpl<MachineInstr *>::iterator DBI = DbgValuesToSink.begin(),
|
||||||
DBE = DbgValuesToSink.end(); DBI != DBE; ++DBI) {
|
DBE = DbgValuesToSink.end(); DBI != DBE; ++DBI) {
|
||||||
MachineInstr *DbgMI = *DBI;
|
MachineInstr *DbgMI = *DBI;
|
||||||
SuccToSinkTo->splice(InsertPos, ParentBlock, DbgMI,
|
SuccToSinkTo->splice(InsertPos, ParentBlock, DbgMI,
|
||||||
|
@ -331,7 +331,7 @@ AnalysisID TargetPassConfig::addPass(AnalysisID PassID) {
|
|||||||
addPass(P); // Ends the lifetime of P.
|
addPass(P); // Ends the lifetime of P.
|
||||||
|
|
||||||
// Add the passes after the pass P if there is any.
|
// Add the passes after the pass P if there is any.
|
||||||
for (SmallVector<std::pair<AnalysisID, IdentifyingPassPtr>, 4>::iterator
|
for (SmallVectorImpl<std::pair<AnalysisID, IdentifyingPassPtr> >::iterator
|
||||||
I = Impl->InsertedPasses.begin(), E = Impl->InsertedPasses.end();
|
I = Impl->InsertedPasses.begin(), E = Impl->InsertedPasses.end();
|
||||||
I != E; ++I) {
|
I != E; ++I) {
|
||||||
if ((*I).first == PassID) {
|
if ((*I).first == PassID) {
|
||||||
|
@ -564,8 +564,8 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
|
|||||||
!RegInfo->needsStackRealignment(Fn)) {
|
!RegInfo->needsStackRealignment(Fn)) {
|
||||||
SmallVector<int, 2> SFIs;
|
SmallVector<int, 2> SFIs;
|
||||||
RS->getScavengingFrameIndices(SFIs);
|
RS->getScavengingFrameIndices(SFIs);
|
||||||
for (SmallVector<int, 2>::iterator I = SFIs.begin(),
|
for (SmallVectorImpl<int>::iterator I = SFIs.begin(),
|
||||||
IE = SFIs.end(); I != IE; ++I)
|
IE = SFIs.end(); I != IE; ++I)
|
||||||
AdjustStackOffset(MFI, *I, StackGrowsDown, Offset, MaxAlign);
|
AdjustStackOffset(MFI, *I, StackGrowsDown, Offset, MaxAlign);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -649,8 +649,8 @@ void PEI::calculateFrameObjectOffsets(MachineFunction &Fn) {
|
|||||||
!RegInfo->useFPForScavengingIndex(Fn))) {
|
!RegInfo->useFPForScavengingIndex(Fn))) {
|
||||||
SmallVector<int, 2> SFIs;
|
SmallVector<int, 2> SFIs;
|
||||||
RS->getScavengingFrameIndices(SFIs);
|
RS->getScavengingFrameIndices(SFIs);
|
||||||
for (SmallVector<int, 2>::iterator I = SFIs.begin(),
|
for (SmallVectorImpl<int>::iterator I = SFIs.begin(),
|
||||||
IE = SFIs.end(); I != IE; ++I)
|
IE = SFIs.end(); I != IE; ++I)
|
||||||
AdjustStackOffset(MFI, *I, StackGrowsDown, Offset, MaxAlign);
|
AdjustStackOffset(MFI, *I, StackGrowsDown, Offset, MaxAlign);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,8 +44,8 @@ bool RegScavenger::isAliasUsed(unsigned Reg) const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void RegScavenger::initRegState() {
|
void RegScavenger::initRegState() {
|
||||||
for (SmallVector<ScavengedInfo, 2>::iterator I = Scavenged.begin(),
|
for (SmallVectorImpl<ScavengedInfo>::iterator I = Scavenged.begin(),
|
||||||
IE = Scavenged.end(); I != IE; ++I) {
|
IE = Scavenged.end(); I != IE; ++I) {
|
||||||
I->Reg = 0;
|
I->Reg = 0;
|
||||||
I->Restore = NULL;
|
I->Restore = NULL;
|
||||||
}
|
}
|
||||||
@ -181,8 +181,8 @@ void RegScavenger::forward() {
|
|||||||
|
|
||||||
MachineInstr *MI = MBBI;
|
MachineInstr *MI = MBBI;
|
||||||
|
|
||||||
for (SmallVector<ScavengedInfo, 2>::iterator I = Scavenged.begin(),
|
for (SmallVectorImpl<ScavengedInfo>::iterator I = Scavenged.begin(),
|
||||||
IE = Scavenged.end(); I != IE; ++I) {
|
IE = Scavenged.end(); I != IE; ++I) {
|
||||||
if (I->Restore != MI)
|
if (I->Restore != MI)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -64,8 +64,8 @@ const MCInstrDesc *ScheduleDAG::getNodeDesc(const SDNode *Node) const {
|
|||||||
/// specified node.
|
/// specified node.
|
||||||
bool SUnit::addPred(const SDep &D, bool Required) {
|
bool SUnit::addPred(const SDep &D, bool Required) {
|
||||||
// If this node already has this depenence, don't add a redundant one.
|
// If this node already has this depenence, don't add a redundant one.
|
||||||
for (SmallVector<SDep, 4>::iterator I = Preds.begin(), E = Preds.end();
|
for (SmallVectorImpl<SDep>::iterator I = Preds.begin(), E = Preds.end();
|
||||||
I != E; ++I) {
|
I != E; ++I) {
|
||||||
// Zero-latency weak edges may be added purely for heuristic ordering. Don't
|
// Zero-latency weak edges may be added purely for heuristic ordering. Don't
|
||||||
// add them if another kind of edge already exists.
|
// add them if another kind of edge already exists.
|
||||||
if (!Required && I->getSUnit() == D.getSUnit())
|
if (!Required && I->getSUnit() == D.getSUnit())
|
||||||
@ -77,7 +77,7 @@ bool SUnit::addPred(const SDep &D, bool Required) {
|
|||||||
// Find the corresponding successor in N.
|
// Find the corresponding successor in N.
|
||||||
SDep ForwardD = *I;
|
SDep ForwardD = *I;
|
||||||
ForwardD.setSUnit(this);
|
ForwardD.setSUnit(this);
|
||||||
for (SmallVector<SDep, 4>::iterator II = PredSU->Succs.begin(),
|
for (SmallVectorImpl<SDep>::iterator II = PredSU->Succs.begin(),
|
||||||
EE = PredSU->Succs.end(); II != EE; ++II) {
|
EE = PredSU->Succs.end(); II != EE; ++II) {
|
||||||
if (*II == ForwardD) {
|
if (*II == ForwardD) {
|
||||||
II->setLatency(D.getLatency());
|
II->setLatency(D.getLatency());
|
||||||
@ -132,8 +132,8 @@ bool SUnit::addPred(const SDep &D, bool Required) {
|
|||||||
/// the specified node.
|
/// the specified node.
|
||||||
void SUnit::removePred(const SDep &D) {
|
void SUnit::removePred(const SDep &D) {
|
||||||
// Find the matching predecessor.
|
// Find the matching predecessor.
|
||||||
for (SmallVector<SDep, 4>::iterator I = Preds.begin(), E = Preds.end();
|
for (SmallVectorImpl<SDep>::iterator I = Preds.begin(), E = Preds.end();
|
||||||
I != E; ++I)
|
I != E; ++I)
|
||||||
if (*I == D) {
|
if (*I == D) {
|
||||||
// Find the corresponding successor in N.
|
// Find the corresponding successor in N.
|
||||||
SDep P = D;
|
SDep P = D;
|
||||||
|
@ -98,7 +98,7 @@ static void getUnderlyingObjects(const Value *V,
|
|||||||
SmallVector<Value *, 4> Objs;
|
SmallVector<Value *, 4> Objs;
|
||||||
GetUnderlyingObjects(const_cast<Value *>(V), Objs);
|
GetUnderlyingObjects(const_cast<Value *>(V), Objs);
|
||||||
|
|
||||||
for (SmallVector<Value *, 4>::iterator I = Objs.begin(), IE = Objs.end();
|
for (SmallVectorImpl<Value *>::iterator I = Objs.begin(), IE = Objs.end();
|
||||||
I != IE; ++I) {
|
I != IE; ++I) {
|
||||||
V = *I;
|
V = *I;
|
||||||
if (!Visited.insert(V))
|
if (!Visited.insert(V))
|
||||||
@ -137,8 +137,8 @@ static void getUnderlyingObjectsForInstr(const MachineInstr *MI,
|
|||||||
SmallVector<Value *, 4> Objs;
|
SmallVector<Value *, 4> Objs;
|
||||||
getUnderlyingObjects(V, Objs);
|
getUnderlyingObjects(V, Objs);
|
||||||
|
|
||||||
for (SmallVector<Value *, 4>::iterator I = Objs.begin(), IE = Objs.end();
|
for (SmallVectorImpl<Value *>::iterator I = Objs.begin(), IE = Objs.end();
|
||||||
I != IE; ++I) {
|
I != IE; ++I) {
|
||||||
bool MayAlias = true;
|
bool MayAlias = true;
|
||||||
V = *I;
|
V = *I;
|
||||||
|
|
||||||
@ -465,8 +465,8 @@ static inline bool isUnsafeMemoryObject(MachineInstr *MI,
|
|||||||
|
|
||||||
SmallVector<Value *, 4> Objs;
|
SmallVector<Value *, 4> Objs;
|
||||||
getUnderlyingObjects(V, Objs);
|
getUnderlyingObjects(V, Objs);
|
||||||
for (SmallVector<Value *, 4>::iterator I = Objs.begin(),
|
for (SmallVectorImpl<Value *>::iterator I = Objs.begin(),
|
||||||
IE = Objs.end(); I != IE; ++I) {
|
IE = Objs.end(); I != IE; ++I) {
|
||||||
V = *I;
|
V = *I;
|
||||||
|
|
||||||
if (const PseudoSourceValue *PSV = dyn_cast<PseudoSourceValue>(V)) {
|
if (const PseudoSourceValue *PSV = dyn_cast<PseudoSourceValue>(V)) {
|
||||||
|
@ -5896,7 +5896,7 @@ void SelectionDAG::TransferDbgValues(SDValue From, SDValue To) {
|
|||||||
ClonedDVs.push_back(Clone);
|
ClonedDVs.push_back(Clone);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for (SmallVector<SDDbgValue *, 2>::iterator I = ClonedDVs.begin(),
|
for (SmallVectorImpl<SDDbgValue *>::iterator I = ClonedDVs.begin(),
|
||||||
E = ClonedDVs.end(); I != E; ++I)
|
E = ClonedDVs.end(); I != E; ++I)
|
||||||
AddDbgValue(*I, ToNode, false);
|
AddDbgValue(*I, ToNode, false);
|
||||||
}
|
}
|
||||||
|
@ -5178,8 +5178,8 @@ SelectionDAGBuilder::visitIntrinsicCall(const CallInst &I, unsigned Intrinsic) {
|
|||||||
SmallVector<Value *, 4> Allocas;
|
SmallVector<Value *, 4> Allocas;
|
||||||
GetUnderlyingObjects(I.getArgOperand(1), Allocas, TD);
|
GetUnderlyingObjects(I.getArgOperand(1), Allocas, TD);
|
||||||
|
|
||||||
for (SmallVector<Value*, 4>::iterator Object = Allocas.begin(),
|
for (SmallVectorImpl<Value*>::iterator Object = Allocas.begin(),
|
||||||
E = Allocas.end(); Object != E; ++Object) {
|
E = Allocas.end(); Object != E; ++Object) {
|
||||||
AllocaInst *LifetimeObject = dyn_cast_or_null<AllocaInst>(*Object);
|
AllocaInst *LifetimeObject = dyn_cast_or_null<AllocaInst>(*Object);
|
||||||
|
|
||||||
// Could not find an Alloca.
|
// Could not find an Alloca.
|
||||||
|
@ -310,9 +310,9 @@ void StackColoring::calculateLocalLiveness() {
|
|||||||
|
|
||||||
SmallPtrSet<const MachineBasicBlock*, 8> NextBBSet;
|
SmallPtrSet<const MachineBasicBlock*, 8> NextBBSet;
|
||||||
|
|
||||||
for (SmallVector<const MachineBasicBlock*, 8>::iterator
|
for (SmallVectorImpl<const MachineBasicBlock *>::iterator
|
||||||
PI = BasicBlockNumbering.begin(), PE = BasicBlockNumbering.end();
|
PI = BasicBlockNumbering.begin(), PE = BasicBlockNumbering.end();
|
||||||
PI != PE; ++PI) {
|
PI != PE; ++PI) {
|
||||||
|
|
||||||
const MachineBasicBlock *BB = *PI;
|
const MachineBasicBlock *BB = *PI;
|
||||||
if (!BBSet.count(BB)) continue;
|
if (!BBSet.count(BB)) continue;
|
||||||
|
@ -197,7 +197,7 @@ void StackSlotColoring::InitializeSlots() {
|
|||||||
/// LiveIntervals that have already been assigned to the specified color.
|
/// LiveIntervals that have already been assigned to the specified color.
|
||||||
bool
|
bool
|
||||||
StackSlotColoring::OverlapWithAssignments(LiveInterval *li, int Color) const {
|
StackSlotColoring::OverlapWithAssignments(LiveInterval *li, int Color) const {
|
||||||
const SmallVector<LiveInterval*,4> &OtherLIs = Assignments[Color];
|
const SmallVectorImpl<LiveInterval *> &OtherLIs = Assignments[Color];
|
||||||
for (unsigned i = 0, e = OtherLIs.size(); i != e; ++i) {
|
for (unsigned i = 0, e = OtherLIs.size(); i != e; ++i) {
|
||||||
LiveInterval *OtherLI = OtherLIs[i];
|
LiveInterval *OtherLI = OtherLIs[i];
|
||||||
if (OtherLI->overlaps(*li))
|
if (OtherLI->overlaps(*li))
|
||||||
@ -297,7 +297,7 @@ bool StackSlotColoring::ColorSlots(MachineFunction &MF) {
|
|||||||
if (NewFI == -1 || (NewFI == (int)SS))
|
if (NewFI == -1 || (NewFI == (int)SS))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
SmallVector<MachineInstr*, 8> &RefMIs = SSRefs[SS];
|
SmallVectorImpl<MachineInstr*> &RefMIs = SSRefs[SS];
|
||||||
for (unsigned i = 0, e = RefMIs.size(); i != e; ++i)
|
for (unsigned i = 0, e = RefMIs.size(); i != e; ++i)
|
||||||
RewriteInstruction(RefMIs[i], SS, NewFI, MF);
|
RewriteInstruction(RefMIs[i], SS, NewFI, MF);
|
||||||
}
|
}
|
||||||
@ -378,7 +378,7 @@ bool StackSlotColoring::RemoveDeadStores(MachineBasicBlock* MBB) {
|
|||||||
++I;
|
++I;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (SmallVector<MachineInstr*, 4>::iterator I = toErase.begin(),
|
for (SmallVectorImpl<MachineInstr *>::iterator I = toErase.begin(),
|
||||||
E = toErase.end(); I != E; ++I)
|
E = toErase.end(); I != E; ++I)
|
||||||
(*I)->eraseFromParent();
|
(*I)->eraseFromParent();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user