[llvm-commits] CVS: llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h

2006-07-26 Thread John Criswell


Changes in directory llvm-poolalloc/lib/PoolAllocate:

PoolAllocate.h (r1.50) removed
---
Log message:

Moved this to llvm-poolalloc/include/poolalloc.  This allows it to be
publicly accessible for inclusion in other C source files.


---
Diffs of the changes:  (+0 -0)

 0 files changed



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits


[llvm-commits] CVS: llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h

2005-12-22 Thread Dinakar Dhurjati


Changes in directory llvm-poolalloc/lib/PoolAllocate:

PoolAllocate.h updated: 1.47 - 1.48
---
Log message:

Extra book keeping for SAFECode


---
Diffs of the changes:  (+35 -4)

 PoolAllocate.h |   39 +++
 1 files changed, 35 insertions(+), 4 deletions(-)


Index: llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h
diff -u llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h:1.47 
llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h:1.48
--- llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h:1.47 Wed May 18 14:56:28 2005
+++ llvm-poolalloc/lib/PoolAllocate/PoolAllocate.h  Thu Dec 22 10:32:21 2005
@@ -16,17 +16,28 @@
 
 #ifndef POOLALLOCATE_H
 #define POOLALLOCATE_H
-
+//#define SAFECODE 1
+//#define BOUNDS_CHECK 1
+//comment the above two for normal poolallocation
 #include llvm/Pass.h
 #include llvm/DerivedTypes.h
 #include llvm/Support/CallSite.h
 #include llvm/ADT/EquivalenceClasses.h
 #include llvm/ADT/VectorExtras.h
 #include llvm/ADT/hash_set
+
+#ifdef SAFECODE
+//FIXME : make this use some configuration options
+#include 
/home/vadve/dhurjati/llvm/projects/safecode.typesafe/include/ConvertUnsafeAllocas.h
+#endif
+
+
 #include set
 
 namespace llvm {
-
+#ifdef SAFECODE
+  using namespace CUA;
+#endif  
 class DSNode;
 class DSGraph;
 class Type;
@@ -73,6 +84,12 @@
 /// function.
 std::mapconst DSNode*, Value* PoolDescriptors;
 
+#ifdef SAFECODE
+//This is a map from Old to New Value Map reverse of the one above
+//Useful in SAFECode for check insertion
+std::mapconst Value*, Value* ValueMap;
+#endif
+
 /// NewToOldValueMap - When and if a function needs to be cloned, this map
 /// contains a mapping from all of the values in the new function back to
 /// the values they correspond to in the old function.
@@ -105,13 +122,23 @@
 
   Module *CurModule;
   EquivClassGraphs *ECGraphs;
-
+  
   std::mapFunction*, PA::FuncInfo FunctionInfo;
   std::mapFunction*, Function* CloneToOrigMap;
 public:
 
+#ifdef SAFECODE  
+  ConvertUnsafeAllocas *CUAPass;
+#endif  
   Function *PoolInit, *PoolDestroy, *PoolAlloc, *PoolRealloc, *PoolMemAlign;
   Function *PoolFree;
+#ifdef SAFECODE  
+  Function *PoolRegister;
+#endif
+#ifdef BOUNDS_CHECK  
+  Function *PoolRegister;
+#endif
+  
   static const Type *PoolDescPtrTy;
 
   PA::Heuristic *CurHeuristic;
@@ -122,9 +149,13 @@
   std::mapconst DSNode*, Value* GlobalNodes;
 
  public:
+#ifdef SAFECODE  
+  PoolAllocate(bool passAllArguments = true) 
+: PassAllArguments(passAllArguments) {}
+#else
   PoolAllocate(bool passAllArguments = false) 
 : PassAllArguments(passAllArguments) {}
-
+#endif
   bool runOnModule(Module M);
   
   virtual void getAnalysisUsage(AnalysisUsage AU) const;



___
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits