aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2001-11-10 07:16:10 +0000
committerChris Lattner <sabre@nondot.org>2001-11-10 07:16:10 +0000
commit854acb996e63787623dd5a7e8c470ccf3624e77c (patch)
tree2e1d867b7f82b492bd9e83b8800b4950d30147be /tools
parente764f6071085892839b26980c2ba572773412d52 (diff)
downloadexternal_llvm-854acb996e63787623dd5a7e8c470ccf3624e77c.zip
external_llvm-854acb996e63787623dd5a7e8c470ccf3624e77c.tar.gz
external_llvm-854acb996e63787623dd5a7e8c470ccf3624e77c.tar.bz2
Add hooks to call the new swap structcontents pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@1243 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/opt/opt.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 5c620a5..dcd1c90 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -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);