From 39bd20d6ebf11e59428074c75873549027a64ae3 Mon Sep 17 00:00:00 2001 From: Tanya Lattner Date: Sat, 8 May 2004 16:12:50 +0000 Subject: [PATCH] Changed CPUResource to allow access to maxnum users. llvm-svn: 13425 --- llvm/lib/Target/TargetSchedInfo.cpp | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/llvm/lib/Target/TargetSchedInfo.cpp b/llvm/lib/Target/TargetSchedInfo.cpp index 1f5a57d10ca0..29b74d84f939 100644 --- a/llvm/lib/Target/TargetSchedInfo.cpp +++ b/llvm/lib/Target/TargetSchedInfo.cpp @@ -14,13 +14,25 @@ #include "llvm/Target/TargetSchedInfo.h" #include "llvm/Target/TargetMachine.h" +#include +using namespace llvm; -namespace llvm { - -resourceId_t CPUResource::nextId = 0; - +resourceId_t llvm::CPUResource::nextId = 0; +static std::vector *CPUResourceMap = 0; + CPUResource::CPUResource(const std::string& resourceName, int maxUsers) - : rname(resourceName), rid(nextId++), maxNumUsers(maxUsers) {} + : rname(resourceName), rid(nextId++), maxNumUsers(maxUsers) { + if(!CPUResourceMap) + CPUResourceMap = new std::vector; + + //Put Resource in the map + CPUResourceMap->push_back(this); +} + +///Get CPUResource if you only have the resource ID +CPUResource* CPUResource::getCPUResource(resourceId_t id) { + return (*CPUResourceMap)[id]; +} // Check if fromRVec and toRVec have *any* common entries. // Assume the vectors are sorted in increasing order. @@ -254,5 +266,3 @@ void InstrRUsage::addUsageDelta(const InstrRUsageDelta &delta) { assert(r >= 0 && "Resource to remove was unused in cycle c!"); } } - -} // End llvm namespace