aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/ModuloScheduling
diff options
context:
space:
mode:
authorAlkis Evlogimenos <alkis@evlogimenos.com>2004-09-28 14:42:44 +0000
committerAlkis Evlogimenos <alkis@evlogimenos.com>2004-09-28 14:42:44 +0000
commitc72c617a4ea3784c9a9f634478dc405ef6b2866b (patch)
treebf9696acb141076c117204d5be44092df5331609 /lib/CodeGen/ModuloScheduling
parent98e81bf16b6f8a87c9761b1785b944aa002cd19c (diff)
Add includes and use std:: for standard library calls to make code
compile on windows. This patch was contributed by Paolo Invernizzi. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@16539 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/ModuloScheduling')
-rw-r--r--lib/CodeGen/ModuloScheduling/MSchedGraph.cpp3
-rw-r--r--lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp43
2 files changed, 24 insertions, 22 deletions
diff --git a/lib/CodeGen/ModuloScheduling/MSchedGraph.cpp b/lib/CodeGen/ModuloScheduling/MSchedGraph.cpp
index 5bdcc9afcf..17b3855368 100644
--- a/lib/CodeGen/ModuloScheduling/MSchedGraph.cpp
+++ b/lib/CodeGen/ModuloScheduling/MSchedGraph.cpp
@@ -18,6 +18,7 @@
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Support/Debug.h"
#include <cstdlib>
+#include <algorithm>
using namespace llvm;
MSchedGraphNode::MSchedGraphNode(const MachineInstr* inst,
@@ -67,7 +68,7 @@ bool MSchedGraphNode::isSuccessor(MSchedGraphNode *succ) {
bool MSchedGraphNode::isPredecessor(MSchedGraphNode *pred) {
- if(find( Predecessors.begin(), Predecessors.end(), pred) != Predecessors.end())
+ if(std::find( Predecessors.begin(), Predecessors.end(), pred) != Predecessors.end())
return true;
else
return false;
diff --git a/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp b/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp
index 9ad1e4ce4b..10d7e9bf57 100644
--- a/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp
+++ b/lib/CodeGen/ModuloScheduling/ModuloScheduling.cpp
@@ -25,6 +25,7 @@
#include "llvm/Support/GraphWriter.h"
#include "llvm/ADT/StringExtras.h"
#include <cmath>
+#include <algorithm>
#include <fstream>
#include <sstream>
#include <utility>
@@ -580,7 +581,7 @@ void ModuloSchedulingPass::addReccurrence(std::vector<MSchedGraphNode*> &recurre
if(R->second.size() == recurrence.size()) {
for(std::vector<MSchedGraphNode*>::const_iterator node = R->second.begin(), end = R->second.end(); node != end; ++node) {
- if(find(recurrence.begin(), recurrence.end(), *node) == recurrence.end()) {
+ if(std::find(recurrence.begin(), recurrence.end(), *node) == recurrence.end()) {
all_same = all_same && false;
break;
}
@@ -623,7 +624,7 @@ void ModuloSchedulingPass::findAllReccurrences(MSchedGraphNode *node,
std::vector<MSchedGraphNode*> &visitedNodes,
int II) {
- if(find(visitedNodes.begin(), visitedNodes.end(), node) != visitedNodes.end()) {
+ if(std::find(visitedNodes.begin(), visitedNodes.end(), node) != visitedNodes.end()) {
std::vector<MSchedGraphNode*> recurrence;
bool first = true;
int delay = 0;
@@ -714,7 +715,7 @@ void ModuloSchedulingPass::computePartialOrder() {
for(std::vector<MSchedGraphNode*>::const_iterator N = I->second.begin(), NE = I->second.end(); N != NE; ++N) {
bool found = false;
for(std::vector<std::vector<MSchedGraphNode*> >::iterator PO = partialOrder.begin(), PE = partialOrder.end(); PO != PE; ++PO) {
- if(find(PO->begin(), PO->end(), *N) != PO->end())
+ if(std::find(PO->begin(), PO->end(), *N) != PO->end())
found = true;
}
if(!found) {
@@ -728,16 +729,16 @@ void ModuloSchedulingPass::computePartialOrder() {
//Check if we are supposed to ignore this edge or not
if(!ignoreEdge(*P, *N))
//Check if already in this recurrence
- if(find(I->second.begin(), I->second.end(), *P) == I->second.end()) {
+ if(std::find(I->second.begin(), I->second.end(), *P) == I->second.end()) {
//Also need to check if in partial order
bool predFound = false;
for(std::vector<std::vector<MSchedGraphNode*> >::iterator PO = partialOrder.begin(), PEND = partialOrder.end(); PO != PEND; ++PO) {
- if(find(PO->begin(), PO->end(), *P) != PO->end())
+ if(std::find(PO->begin(), PO->end(), *P) != PO->end())
predFound = true;
}
if(!predFound)
- if(find(new_recurrence.begin(), new_recurrence.end(), *P) == new_recurrence.end())
+ if(std::find(new_recurrence.begin(), new_recurrence.end(), *P) == new_recurrence.end())
new_recurrence.push_back(*P);
}
@@ -756,7 +757,7 @@ void ModuloSchedulingPass::computePartialOrder() {
bool found = false;
//Check if its already in our partial order, if not add it to the final vector
for(std::vector<std::vector<MSchedGraphNode*> >::iterator PO = partialOrder.begin(), PE = partialOrder.end(); PO != PE; ++PO) {
- if(find(PO->begin(), PO->end(), I->first) != PO->end())
+ if(std::find(PO->begin(), PO->end(), I->first) != PO->end())
found = true;
}
if(!found)
@@ -772,7 +773,7 @@ void ModuloSchedulingPass::computePartialOrder() {
void ModuloSchedulingPass::predIntersect(std::vector<MSchedGraphNode*> &CurrentSet, std::vector<MSchedGraphNode*> &IntersectResult) {
//Sort CurrentSet so we can use lowerbound
- sort(CurrentSet.begin(), CurrentSet.end());
+ std::sort(CurrentSet.begin(), CurrentSet.end());
for(unsigned j=0; j < FinalNodeOrder.size(); ++j) {
for(MSchedGraphNode::pred_iterator P = FinalNodeOrder[j]->pred_begin(),
@@ -782,9 +783,9 @@ void ModuloSchedulingPass::predIntersect(std::vector<MSchedGraphNode*> &CurrentS
if(ignoreEdge(*P,FinalNodeOrder[j]))
continue;
- if(find(CurrentSet.begin(),
+ if(std::find(CurrentSet.begin(),
CurrentSet.end(), *P) != CurrentSet.end())
- if(find(FinalNodeOrder.begin(), FinalNodeOrder.end(), *P) == FinalNodeOrder.end())
+ if(std::find(FinalNodeOrder.begin(), FinalNodeOrder.end(), *P) == FinalNodeOrder.end())
IntersectResult.push_back(*P);
}
}
@@ -793,7 +794,7 @@ void ModuloSchedulingPass::predIntersect(std::vector<MSchedGraphNode*> &CurrentS
void ModuloSchedulingPass::succIntersect(std::vector<MSchedGraphNode*> &CurrentSet, std::vector<MSchedGraphNode*> &IntersectResult) {
//Sort CurrentSet so we can use lowerbound
- sort(CurrentSet.begin(), CurrentSet.end());
+ std::sort(CurrentSet.begin(), CurrentSet.end());
for(unsigned j=0; j < FinalNodeOrder.size(); ++j) {
for(MSchedGraphNode::succ_iterator P = FinalNodeOrder[j]->succ_begin(),
@@ -803,9 +804,9 @@ void ModuloSchedulingPass::succIntersect(std::vector<MSchedGraphNode*> &CurrentS
if(ignoreEdge(FinalNodeOrder[j],*P))
continue;
- if(find(CurrentSet.begin(),
+ if(std::find(CurrentSet.begin(),
CurrentSet.end(), *P) != CurrentSet.end())
- if(find(FinalNodeOrder.begin(), FinalNodeOrder.end(), *P) == FinalNodeOrder.end())
+ if(std::find(FinalNodeOrder.begin(), FinalNodeOrder.end(), *P) == FinalNodeOrder.end())
IntersectResult.push_back(*P);
}
}
@@ -914,13 +915,13 @@ void ModuloSchedulingPass::orderNodes() {
}
//Append our node with greatest height to the NodeOrder
- if(find(FinalNodeOrder.begin(), FinalNodeOrder.end(), highestHeightNode) == FinalNodeOrder.end()) {
+ if(std::find(FinalNodeOrder.begin(), FinalNodeOrder.end(), highestHeightNode) == FinalNodeOrder.end()) {
DEBUG(std::cerr << "Adding node to Final Order: " << *highestHeightNode << "\n");
FinalNodeOrder.push_back(highestHeightNode);
}
//Remove V from IntersectOrder
- IntersectCurrent.erase(find(IntersectCurrent.begin(),
+ IntersectCurrent.erase(std::find(IntersectCurrent.begin(),
IntersectCurrent.end(), highestHeightNode));
@@ -929,11 +930,11 @@ void ModuloSchedulingPass::orderNodes() {
E = highestHeightNode->succ_end(); P != E; ++P) {
//if(lower_bound(CurrentSet->begin(),
// CurrentSet->end(), *P) != CurrentSet->end()) {
- if(find(CurrentSet->begin(), CurrentSet->end(), *P) != CurrentSet->end()) {
+ if(std::find(CurrentSet->begin(), CurrentSet->end(), *P) != CurrentSet->end()) {
if(ignoreEdge(highestHeightNode, *P))
continue;
//If not already in Intersect, add
- if(find(IntersectCurrent.begin(), IntersectCurrent.end(), *P) == IntersectCurrent.end())
+ if(std::find(IntersectCurrent.begin(), IntersectCurrent.end(), *P) == IntersectCurrent.end())
IntersectCurrent.push_back(*P);
}
}
@@ -984,12 +985,12 @@ void ModuloSchedulingPass::orderNodes() {
//Append highest depth node to the NodeOrder
- if(find(FinalNodeOrder.begin(), FinalNodeOrder.end(), highestDepthNode) == FinalNodeOrder.end()) {
+ if(std::find(FinalNodeOrder.begin(), FinalNodeOrder.end(), highestDepthNode) == FinalNodeOrder.end()) {
DEBUG(std::cerr << "Adding node to Final Order: " << *highestDepthNode << "\n");
FinalNodeOrder.push_back(highestDepthNode);
}
//Remove heightestDepthNode from IntersectOrder
- IntersectCurrent.erase(find(IntersectCurrent.begin(),
+ IntersectCurrent.erase(std::find(IntersectCurrent.begin(),
IntersectCurrent.end(),highestDepthNode));
@@ -998,13 +999,13 @@ void ModuloSchedulingPass::orderNodes() {
E = highestDepthNode->pred_end(); P != E; ++P) {
//if(lower_bound(CurrentSet->begin(),
// CurrentSet->end(), *P) != CurrentSet->end()) {
- if(find(CurrentSet->begin(), CurrentSet->end(), *P) != CurrentSet->end()) {
+ if(std::find(CurrentSet->begin(), CurrentSet->end(), *P) != CurrentSet->end()) {
if(ignoreEdge(*P, highestDepthNode))
continue;
//If not already in Intersect, add
- if(find(IntersectCurrent.begin(),
+ if(std::find(IntersectCurrent.begin(),
IntersectCurrent.end(), *P) == IntersectCurrent.end())
IntersectCurrent.push_back(*P);
}