Add hook for pool allocation pass
authorChris Lattner <sabre@nondot.org>
Thu, 28 Mar 2002 18:08:07 +0000 (18:08 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 28 Mar 2002 18:08:07 +0000 (18:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2013 91177308-0d34-0410-b5e6-96231b3b80d8

tools/opt/opt.cpp

index 80fad86009394012d1fc61aa1f424c03995c2155..9b2a19a93216203e9b17c9cd9c47d9f3bfcdbcf9 100644 (file)
@@ -21,6 +21,7 @@
 #include "llvm/Transforms/ChangeAllocations.h"
 #include "llvm/Transforms/IPO/SimpleStructMutation.h"
 #include "llvm/Transforms/IPO/GlobalDCE.h"
+#include "llvm/Transforms/IPO/PoolAllocate.h"
 #include "llvm/Transforms/Scalar/DCE.h"
 #include "llvm/Transforms/Scalar/ConstantProp.h"
 #include "llvm/Transforms/Scalar/IndVarSimplify.h"
@@ -51,7 +52,7 @@ enum Opts {
   trace, tracem, paths,
 
   // Interprocedural optimizations...
-  globaldce, swapstructs, sortstructs,
+  globaldce, swapstructs, sortstructs, poolalloc,
 };
 
 static Pass *createPrintMethodPass() {
@@ -79,6 +80,7 @@ struct {
   { adce       , createAgressiveDCEPass },
   { raise      , createRaisePointerReferencesPass },
   { mem2reg    , createPromoteMemoryToRegister },
+  { lowerrefs,   createDecomposeMultiDimRefsPass },
 
   { trace      , createTraceValuesPassForBasicBlocks },
   { tracem     , createTraceValuesPassForMethod },
@@ -92,7 +94,7 @@ struct {
   { globaldce  , createGlobalDCEPass },
   { swapstructs, createSwapElementsPass },
   { sortstructs, createSortElementsPass },
-  { lowerrefs,   createDecomposeMultiDimRefsPass } 
+  { poolalloc  , createPoolAllocatePass },
 };
 
 // Command line option handling code...
@@ -122,6 +124,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
   clEnumVal(globaldce  , "Remove unreachable globals"),
   clEnumVal(swapstructs, "Swap structure types around"),
   clEnumVal(sortstructs, "Sort structure elements"),
+  clEnumVal(poolalloc  , "Pool allocate disjoint datastructures"),
 
   clEnumVal(raiseallocs, "Raise allocations from calls to instructions"),
   clEnumVal(cleangcc   , "Cleanup GCC Output"),