[llvm-commits] CVS: llvm/include/llvm/Reoptimizer/TraceCache.h

Anand Shukla ashukla at cs.uiuc.edu
Sat May 31 21:32:34 PDT 2003


Changes in directory llvm/include/llvm/Reoptimizer:

TraceCache.h updated: 1.8 -> 1.9

---
Log message:

Simple additions to the runtime API

---
Diffs of the changes:

Index: llvm/include/llvm/Reoptimizer/TraceCache.h
diff -u llvm/include/llvm/Reoptimizer/TraceCache.h:1.8 llvm/include/llvm/Reoptimizer/TraceCache.h:1.9
--- llvm/include/llvm/Reoptimizer/TraceCache.h:1.8	Wed May 28 08:53:48 2003
+++ llvm/include/llvm/Reoptimizer/TraceCache.h	Sat May 31 21:31:15 2003
@@ -15,12 +15,16 @@
 class VirtualMem;
 class MemoryManager;
 
+class TraceCache2;
+
 class TraceCache{
  private:
   std::map<uint64_t, uint64_t> traces; //map from addr to addr
   std::map<uint64_t, int> traceSize;//size of trace allocatted
   std::map<int, uint64_t> traceId;
   std::map<uint64_t, int> reverseTraceId;
+  
+  std::map<uint64_t, int> uniqueID;
 
   std::map<uint64_t, std::vector<unsigned int> > traceInstructions;
 
@@ -55,6 +59,8 @@
   void setLimit(int n);
   int getLimit() { return limit;}
 
+  uint64_t getAddrLessThan(uint64_t brAddr);
+
   bool hasMaxSize(){ return isLimitSet;}
   bool hasTraceAddr(uint64_t n){ return (traces.find(n)!=traces.end()); }
   bool hasTraceId(int n) { return (traceId.find(n)!=traceId.end()); }
@@ -71,8 +77,12 @@
 
   //constructors
   TraceCache(int limitSize);
+  TraceCache(VirtualMem *vmem);
   TraceCache();
 
+  //remove the branch from the original code into the trace
+  void patchTrace(uint64_t n);
+
   //add trace of a given size
   //return null if cannot allocate
   //return an address where trace can be allocated otherwise
@@ -91,7 +101,7 @@
                 std::vector<unsigned int> &trace,
                 int traceUniqId,
                 std::map<int, uint64_t> &callMap,
-                std::map<int, uint64_t> &branchMap);
+                std::map<int, uint64_t> &branchMap, TraceCache2 *tr2);
   
   bool addTrace(uint64_t instAddr, 
                 std::vector<unsigned int> &trace, 
@@ -102,6 +112,15 @@
 
   bool addTrace(uint64_t instAddr, int sz, int traceUniqId, 
                 uint64_t &addr);
+
+ 
+  bool addTrace(uint64_t instAddr, 
+		std::vector<unsigned int> &trace, 
+		int traceUniqId,
+		std::map<int, uint64_t> &callMap,
+		std::map<int, uint64_t> &myBranchMap,
+		std::map<int, int> &branchMap,
+		uint64_t firstLevelTraceStartAddr);
 
   //bool addTrace(uint64_t instAddr, unsigned int trace[], int sz, 
   //                 std::vector<uint64_t> &inBranches, 





More information about the llvm-commits mailing list