Add support for the new va_arg instruction
[oota-llvm.git] / lib / Transforms / IPO / OldPoolAllocate.cpp
index e74c8b22c15a3e7bad12eaba99aeab440fc861f1..bf86403d86b7256b00deba0f6808aa62cb542265 100644 (file)
@@ -4,14 +4,12 @@
 // allocated out of different pools of memory, increasing locality and shrinking
 // pointer size.
 //
-// This pass requires a DCE & instcombine pass to be run after it for best
-// results.
-//
 //===----------------------------------------------------------------------===//
 
+#if 0
 #include "llvm/Transforms/IPO.h"
-#include "llvm/Transforms/Utils/CloneFunction.h"
-#include "llvm/Analysis/DataStructureGraph.h"
+#include "llvm/Transforms/Utils/Cloning.h"
+#include "llvm/Analysis/DataStructure.h"
 #include "llvm/Module.h"
 #include "llvm/iMemory.h"
 #include "llvm/iTerminators.h"
@@ -30,8 +28,6 @@ using std::map;
 using std::string;
 using std::set;
 
-#if 0
-
 // DEBUG_CREATE_POOLS - Enable this to turn on debug output for the pool
 // creation phase in the top level function of a transformed data structure.
 //
@@ -246,7 +242,7 @@ namespace {
     // to be able to see what is pool allocatable.
     //
     virtual void getAnalysisUsage(AnalysisUsage &AU) const {
-      AU.addRequired(DataStructure::ID);
+      AU.addRequired<DataStructure>();
     }
 
   public:
@@ -315,8 +311,8 @@ namespace {
 
   };
 
-  RegisterPass<PoolAllocate> X("poolalloc",
-                               "Pool allocate disjoint datastructures");
+  RegisterOpt<PoolAllocate> X("poolalloc",
+                              "Pool allocate disjoint datastructures");
 }
 
 // isNotPoolableAlloc - This is a predicate that returns true if the specified
@@ -1639,9 +1635,8 @@ void PoolAllocate::CreatePools(Function *F, const vector<AllocDSNode*> &Allocs,
            "Pool type should not be abstract anymore!");
 
     // Add an allocation and a free for each pool...
-    AllocaInst *PoolAlloc
-      = new AllocaInst(PointerType::get(PI.PoolType), 0,
-                       CurModule->getTypeName(PI.PoolType));
+    AllocaInst *PoolAlloc = new AllocaInst(PI.PoolType, 0,
+                                           CurModule->getTypeName(PI.PoolType));
     PI.Handle = PoolAlloc;
     EntryNodeInsts.push_back(PoolAlloc);
     AllocationInst *AI = Allocs[i]->getAllocation();
@@ -1752,12 +1747,13 @@ bool PoolAllocate::run(Module &M) {
   DS = 0;
   return false;
 }
-#endif
 
 // createPoolAllocatePass - Global function to access the functionality of this
 // pass...
 //
 Pass *createPoolAllocatePass() { 
   assert(0 && "Pool allocator disabled!");
+  return 0;
   //return new PoolAllocate(); 
 }
+#endif