forked from OSchip/llvm-project
Avoid referring to edge D after the Succs or Preds arrays have
been modified, to avoid trouble in the (unlikely) scenario that D is a reference to an element in one of those arrays. llvm-svn: 62173
This commit is contained in:
parent
28cffd3dbc
commit
13141d5538
|
@ -75,8 +75,8 @@ void SUnit::addPred(const SDep &D) {
|
|||
++NumPredsLeft;
|
||||
if (!isScheduled)
|
||||
++N->NumSuccsLeft;
|
||||
N->Succs.push_back(P);
|
||||
Preds.push_back(D);
|
||||
N->Succs.push_back(P);
|
||||
if (P.getLatency() != 0) {
|
||||
this->setDepthDirty();
|
||||
N->setHeightDirty();
|
||||
|
@ -105,8 +105,8 @@ void SUnit::removePred(const SDep &D) {
|
|||
}
|
||||
assert(FoundSucc && "Mismatching preds / succs lists!");
|
||||
Preds.erase(I);
|
||||
// Update the bookkeeping;
|
||||
if (D.getKind() == SDep::Data) {
|
||||
// Update the bookkeeping.
|
||||
if (P.getKind() == SDep::Data) {
|
||||
--NumPreds;
|
||||
--N->NumSuccs;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue