/// addPred - This adds the specified edge as a pred of the current node if
/// not already. It also adds the current node as a successor of the
- /// specified node. This returns true if this is a new pred.
- bool addPred(const SDep &D) {
+ /// specified node.
+ void addPred(const SDep &D) {
// If this node already has this depenence, don't add a redundant one.
for (unsigned i = 0, e = (unsigned)Preds.size(); i != e; ++i)
if (Preds[i] == D)
- return false;
+ return;
// Add a pred to this SUnit.
Preds.push_back(D);
// Now add a corresponding succ to N.
++NumPredsLeft;
if (!isScheduled)
++N->NumSuccsLeft;
- return true;
}
/// removePred - This removes the specified edge as a pred of the current
/// node if it exists. It also removes the current node as a successor of
- /// the specified node. This returns true if the edge existed and was
- /// removed.
- bool removePred(const SDep &D) {
+ /// the specified node.
+ void removePred(const SDep &D) {
// Find the matching predecessor.
for (SmallVector<SDep, 4>::iterator I = Preds.begin(), E = Preds.end();
I != E; ++I)
--NumPredsLeft;
if (!isScheduled)
--N->NumSuccsLeft;
- return true;
+ return;
}
- return false;
}
bool isPred(SUnit *N) {
/// AddPred - adds a predecessor edge to SUnit SU.
/// This returns true if this is a new predecessor.
- bool AddPred(SUnit *SU, const SDep &D) {
- return SU->addPred(D);
+ void AddPred(SUnit *SU, const SDep &D) {
+ SU->addPred(D);
}
/// RemovePred - removes a predecessor edge from SUnit SU.
/// This returns true if an edge was removed.
- bool RemovePred(SUnit *SU, const SDep &D) {
- return SU->removePred(D);
+ void RemovePred(SUnit *SU, const SDep &D) {
+ SU->removePred(D);
}
private:
/// AddPred - adds a predecessor edge to SUnit SU.
/// This returns true if this is a new predecessor.
/// Updates the topological ordering if required.
- bool AddPred(SUnit *SU, const SDep &D) {
+ void AddPred(SUnit *SU, const SDep &D) {
Topo.AddPred(SU, D.getSUnit());
- return SU->addPred(D);
+ SU->addPred(D);
}
/// RemovePred - removes a predecessor edge from SUnit SU.
/// This returns true if an edge was removed.
/// Updates the topological ordering if required.
- bool RemovePred(SUnit *SU, const SDep &D) {
+ void RemovePred(SUnit *SU, const SDep &D) {
Topo.RemovePred(SU, D.getSUnit());
- return SU->removePred(D);
+ SU->removePred(D);
}
private: