Add hooks to call the new swap structcontents pass
authorChris Lattner <sabre@nondot.org>
Sat, 10 Nov 2001 07:16:10 +0000 (07:16 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 10 Nov 2001 07:16:10 +0000 (07:16 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1243 91177308-0d34-0410-b5e6-96231b3b80d8

tools/opt/opt.cpp

index 5c620a5234688fadd4a98a036adadcfd907a445a..dcd1c90cd35ec6a2c2cff5e30c01a013a2e2bd35 100644 (file)
@@ -16,6 +16,7 @@
 #include "llvm/Transforms/ConstantMerge.h"
 #include "llvm/Transforms/CleanupGCCOutput.h"
 #include "llvm/Transforms/LevelChange.h"
+#include "llvm/Transforms/SwapStructContents.h"
 #include <fstream>
 
 using namespace opt;
@@ -25,7 +26,7 @@ enum Opts {
   dce, constprop, inlining, mergecons, strip, mstrip,
 
   // Miscellaneous Transformations
-  trace, tracem, print, cleangcc,
+  trace, tracem, print, cleangcc, swapstructs,
 
   // More powerful optimizations
   indvars, sccp, adce, raise,
@@ -49,6 +50,7 @@ struct {
   { tracem   , new InsertTraceCode(false, true) },
   { print    , new PrintModulePass("Current Method: \n",&cerr) },
   { cleangcc , new CleanupGCCOutput() },
+  { swapstructs, new SwapStructContents() },
 };
 
 cl::String InputFilename ("", "Load <arg> file to optimize", cl::NoFlags, "-");
@@ -66,10 +68,12 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags,
   clEnumVal(indvars  , "Simplify Induction Variables"),
   clEnumVal(sccp     , "Sparse Conditional Constant Propogation"),
   clEnumVal(adce     , "Agressive DCE"),
+
   clEnumVal(cleangcc , "Cleanup GCC Output"),
   clEnumVal(raise    , "Raise to Higher Level"),
   clEnumVal(trace    , "Insert BB & Method trace code"),
   clEnumVal(tracem   , "Insert Method trace code only"),
+  clEnumVal(swapstructs, "Swap structure types around"),
   clEnumVal(print    , "Print working method to stderr"),
 0);