diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/as/as.cpp | 16 | ||||
-rw-r--r-- | tools/dis/dis.cpp | 23 | ||||
-rw-r--r-- | tools/extract/extract.cpp | 13 | ||||
-rw-r--r-- | tools/gccas/gccas.cpp | 27 | ||||
-rw-r--r-- | tools/gccld/gccld.cpp | 34 | ||||
-rw-r--r-- | tools/link/link.cpp | 30 | ||||
-rw-r--r-- | tools/llc/llc.cpp | 29 | ||||
-rw-r--r-- | tools/lli/lli.cpp | 42 | ||||
-rw-r--r-- | tools/llvm-as/as.cpp | 16 | ||||
-rw-r--r-- | tools/llvm-as/llvm-as.cpp | 16 | ||||
-rw-r--r-- | tools/llvm-dis/dis.cpp | 23 | ||||
-rw-r--r-- | tools/llvm-dis/llvm-dis.cpp | 23 | ||||
-rw-r--r-- | tools/llvm-extract/llvm-extract.cpp | 13 | ||||
-rw-r--r-- | tools/llvm-link/llvm-link.cpp | 30 | ||||
-rw-r--r-- | tools/opt/opt.cpp | 30 |
15 files changed, 258 insertions, 107 deletions
diff --git a/tools/as/as.cpp b/tools/as/as.cpp index a956203e64..c66dd598b9 100644 --- a/tools/as/as.cpp +++ b/tools/as/as.cpp @@ -18,10 +18,18 @@ #include <memory> using std::cerr; -cl::String InputFilename ("", "Parse <arg> file, compile to bytecode", 0, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::Flag DumpAsm ("d", "Print assembly as parsed", cl::Hidden, false); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input .llvm file>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +DumpAsm("d", cl::desc("Print assembly as parsed"), cl::Hidden); int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n"); diff --git a/tools/dis/dis.cpp b/tools/dis/dis.cpp index eb9a3a39ed..361564c8e5 100644 --- a/tools/dis/dis.cpp +++ b/tools/dis/dis.cpp @@ -27,13 +27,22 @@ enum OutputMode { c, // Generate C code }; -cl::String InputFilename ("", "Load <arg> file, print as assembly", 0, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::EnumFlags<enum OutputMode> WriteMode(cl::NoFlags, - clEnumVal(llvm, "Output LLVM assembly"), - clEnumVal(c , "Output C code for program"), - 0); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<enum OutputMode> +WriteMode(cl::desc("Specify the output format:"), + cl::values( + clEnumVal(llvm, "Output LLVM assembly"), + clEnumVal(c , "Output C code for program"), + 0)); int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .bc -> .ll disassembler\n"); diff --git a/tools/extract/extract.cpp b/tools/extract/extract.cpp index d1680c0967..4730f54250 100644 --- a/tools/extract/extract.cpp +++ b/tools/extract/extract.cpp @@ -18,8 +18,17 @@ #include "Support/CommandLine.h" #include <memory> -static cl::String InputFilename("", "Specify input bytecode file", 0, "-"); -static cl::String ExtractFunc("func", "Specify function to extract", 0, "main"); +// InputFilename - The filename to read from. +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode file>"), + cl::init("-"), cl::value_desc("filename")); + + +// ExtractFunc - The function to extract from the module... defaults to main. +static cl::opt<string> +ExtractFunc("func", cl::desc("Specify function to extract"), cl::init("main"), + cl::value_desc("function")); + struct FunctionExtractorPass : public Pass { const char *getPassName() const { return "Function Extractor"; } diff --git a/tools/gccas/gccas.cpp b/tools/gccas/gccas.cpp index 634d08c851..fbb8f77afc 100644 --- a/tools/gccas/gccas.cpp +++ b/tools/gccas/gccas.cpp @@ -23,14 +23,25 @@ #include <fstream> using std::cerr; -static cl::String InputFilename ("", "Parse <arg> file, compile to bytecode", - cl::Required, ""); -static cl::String OutputFilename ("o", "Override output filename"); -static cl::Int RunNPasses ("stopAfterNPasses", "Only run the first N " - "passes of gccas", cl::Hidden); -static cl::Flag StopAtLevelRaise("stopraise", "Stop optimization before " - "level raise", cl::Hidden); -static cl::Flag Verify ("verify", "Verify each pass result"); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input llvm assembly>"), cl::Required); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<int> +RunNPasses("stopAfterNPasses", + cl::desc("Only run the first N passes of gccas"), cl::Hidden, + cl::value_desc("# passes")); + +static cl::opt<bool> +StopAtLevelRaise("stopraise", cl::desc("Stop optimization before level raise"), + cl::Hidden); + +static cl::opt<bool> +Verify("verify", cl::desc("Verify each pass result")); + static inline void addPass(PassManager &PM, Pass *P) { static int NumPassesCreated = 0; diff --git a/tools/gccld/gccld.cpp b/tools/gccld/gccld.cpp index 919884419d..e5db8849dd 100644 --- a/tools/gccld/gccld.cpp +++ b/tools/gccld/gccld.cpp @@ -33,13 +33,28 @@ #include <sys/stat.h> using std::cerr; -cl::StringList InputFilenames("", "Load <arg> files, linking them together", - cl::OneOrMore); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags,"a.out"); -cl::Flag Verbose ("v", "Print information about actions taken"); -cl::StringList LibPaths ("L", "Specify a library search path", cl::ZeroOrMore); -cl::StringList Libraries ("l", "Specify libraries to link to", cl::ZeroOrMore); -cl::Flag Strip ("s", "Strip symbol info from executable"); +static cl::list<string> +InputFilenames(cl::Positional, cl::desc("<input bytecode files>"), + cl::OneOrMore); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), cl::init("a.out"), + cl::value_desc("filename")); + +static cl::opt<bool> +Verbose("v", cl::desc("Print information about actions taken")); + +static cl::list<string> +LibPaths("L", cl::desc("Specify a library search path"), cl::Prefix, + cl::value_desc("directory")); + +static cl::list<string> +Libraries("l", cl::desc("Specify libraries to link to"), cl::Prefix, + cl::value_desc("library prefix")); + +static cl::opt<bool> +Strip("s", cl::desc("Strip symbol info from executable")); + // FileExists - Return true if the specified string is an openable file... static inline bool FileExists(const std::string &FN) { @@ -83,10 +98,7 @@ static inline std::auto_ptr<Module> LoadFile(const std::string &FN) { int main(int argc, char **argv) { - cl::ParseCommandLineOptions(argc, argv, " llvm linker for GCC\n", - cl::EnableSingleLetterArgValue | - cl::DisableSingleLetterArgGrouping); - assert(InputFilenames.size() > 0 && "OneOrMore is not working"); + cl::ParseCommandLineOptions(argc, argv, " llvm linker for GCC\n"); unsigned BaseArg = 0; std::string ErrorMessage; diff --git a/tools/link/link.cpp b/tools/link/link.cpp index 28499f1988..e2ab02e92d 100644 --- a/tools/link/link.cpp +++ b/tools/link/link.cpp @@ -22,13 +22,25 @@ using std::cerr; -cl::StringList InputFilenames("", "Load <arg> files, linking them together", - cl::OneOrMore); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, "-"); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::Flag Verbose ("v", "Print information about actions taken"); -cl::Flag DumpAsm ("d", "Print assembly as linked", cl::Hidden, false); -cl::StringList LibPaths ("L", "Specify a library search path", cl::ZeroOrMore); +static cl::list<std::string> +InputFilenames(cl::Positional, cl::OneOrMore, + cl::desc("Load <arg> files, linking them together")); + +static cl::opt<std::string> +OutputFilename("o", cl::desc("Override output filename"), cl::init("-"), + cl::value_desc("filename")); + +static cl::opt<bool> Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +Verbose("v", cl::desc("Print information about actions taken")); + +static cl::opt<bool> +DumpAsm("d", cl::desc("Print assembly as linked"), cl::Hidden); + +static cl::list<std::string> +LibPaths("L", cl::desc("Specify a library search path"), cl::ZeroOrMore, + cl::value_desc("directory"), cl::Prefix); // FileExists - Return true if the specified string is an openable file... static inline bool FileExists(const std::string &FN) { @@ -74,9 +86,7 @@ static inline std::auto_ptr<Module> LoadFile(const std::string &FN) { int main(int argc, char **argv) { - cl::ParseCommandLineOptions(argc, argv, " llvm linker\n", - cl::EnableSingleLetterArgValue | - cl::DisableSingleLetterArgGrouping); + cl::ParseCommandLineOptions(argc, argv, " llvm linker\n"); assert(InputFilenames.size() > 0 && "OneOrMore is not working"); unsigned BaseArg = 0; diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp index 3e1dfbcae1..785f0a624c 100644 --- a/tools/llc/llc.cpp +++ b/tools/llc/llc.cpp @@ -24,22 +24,33 @@ using std::string; using std::cerr; -static cl::String InputFilename ("", "Input filename", cl::NoFlags, "-"); -static cl::String OutputFilename("o", "Output filename", cl::NoFlags, ""); -static cl::Flag Force ("f", "Overwrite output files"); -static cl::Flag DumpAsm ("d", "Print bytecode before native code generation", cl::Hidden); -static cl::String TraceLibPath ("tracelibpath", "Path to libinstr for trace code", cl::Hidden, ""); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Output filename"), cl::value_desc("filename")); + +static cl::opt<bool> Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +DumpAsm("d", cl::desc("Print bytecode before native code generation"), + cl::Hidden); + +static cl::opt<string> +TraceLibPath("tracelibpath", cl::desc("Path to libinstr for trace code"), + cl::value_desc("directory"), cl::Hidden); enum TraceLevel { TraceOff, TraceFunctions, TraceBasicBlocks }; -static cl::Enum<enum TraceLevel> TraceValues("trace", cl::NoFlags, - "Trace values through functions or basic blocks", +static cl::opt<TraceLevel> +TraceValues("trace", cl::desc("Trace values through functions or basic blocks"), + cl::values( clEnumValN(TraceOff , "off", "Disable trace code"), clEnumValN(TraceFunctions , "function", "Trace each function"), - clEnumValN(TraceBasicBlocks, "basicblock", "Trace each basic block"), 0); - + clEnumValN(TraceBasicBlocks, "basicblock", "Trace each basic block"), + 0)); // GetFileNameRoot - Helper function to get the basename of a filename... static inline string GetFileNameRoot(const string &InputFilename) { diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp index f4145c169c..dc35194546 100644 --- a/tools/lli/lli.cpp +++ b/tools/lli/lli.cpp @@ -10,12 +10,27 @@ #include "Interpreter.h" #include "Support/CommandLine.h" -cl::StringList InputArgv("" , "Input command line", cl::ConsumeAfter); -cl::String MainFunction ("f" , "Function to execute", cl::NoFlags, "main"); -cl::Flag DebugMode ("debug" , "Start program in debugger"); -cl::Alias DebugModeA ("d" , "Alias for -debug", cl::NoFlags, DebugMode); -cl::Flag TraceMode ("trace" , "Enable Tracing"); -cl::Flag ProfileMode ("profile", "Enable Profiling [unimp]"); +static cl::opt<string> +InputFile(cl::desc("<input bytecode>"), cl::Positional, cl::init("-")); + +static cl::list<std::string> +InputArgv(cl::ConsumeAfter, cl::desc("<program arguments>...")); + +static cl::opt<string> +MainFunction ("f", cl::desc("Function to execute"), cl::init("main"), + cl::value_desc("function name")); + +static cl::opt<bool> +DebugMode("debug", cl::desc("Start program in debugger")); + +static cl::alias +DebugModeA("d", cl::desc("Alias for -debug"), cl::aliasopt(DebugMode)); + +static cl::opt<bool> +TraceMode("trace", cl::desc("Enable Tracing")); + +static cl::opt<bool> +ProfileMode("profile", cl::desc("Enable Profiling [unimp]")); //===----------------------------------------------------------------------===// @@ -24,7 +39,7 @@ cl::Flag ProfileMode ("profile", "Enable Profiling [unimp]"); Interpreter::Interpreter() : ExitCode(0), Profile(ProfileMode), Trace(TraceMode), CurFrame(-1) { CurMod = 0; - loadModule(InputArgv.size() ? InputArgv[0] : "-"); + loadModule(InputFile); // Initialize the "backend" initializeExecutionEngine(); @@ -37,6 +52,12 @@ Interpreter::Interpreter() : ExitCode(0), Profile(ProfileMode), int main(int argc, char** argv) { cl::ParseCommandLineOptions(argc, argv, " llvm interpreter\n"); + // Add the module name to the start of the argv vector... + // + InputArgv.insert(InputArgv.begin(), InputFile); + + + // Create the interpreter... Interpreter I; @@ -52,13 +73,6 @@ int main(int argc, char** argv) { if (ProfileMode) I.enableProfiling(); if (TraceMode) I.enableTracing(); - // Ensure that there is at least one argument... the name of the program. - // This is only unavailable if the program was read from stdin, instead of a - // file. - // - if (InputArgv.empty()) - InputArgv.push_back("from-stdin-prog"); - // Start interpreter into the main function... // if (!I.callMainMethod(MainFunction, InputArgv) && !DebugMode) { diff --git a/tools/llvm-as/as.cpp b/tools/llvm-as/as.cpp index a956203e64..c66dd598b9 100644 --- a/tools/llvm-as/as.cpp +++ b/tools/llvm-as/as.cpp @@ -18,10 +18,18 @@ #include <memory> using std::cerr; -cl::String InputFilename ("", "Parse <arg> file, compile to bytecode", 0, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::Flag DumpAsm ("d", "Print assembly as parsed", cl::Hidden, false); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input .llvm file>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +DumpAsm("d", cl::desc("Print assembly as parsed"), cl::Hidden); int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n"); diff --git a/tools/llvm-as/llvm-as.cpp b/tools/llvm-as/llvm-as.cpp index a956203e64..c66dd598b9 100644 --- a/tools/llvm-as/llvm-as.cpp +++ b/tools/llvm-as/llvm-as.cpp @@ -18,10 +18,18 @@ #include <memory> using std::cerr; -cl::String InputFilename ("", "Parse <arg> file, compile to bytecode", 0, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::Flag DumpAsm ("d", "Print assembly as parsed", cl::Hidden, false); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input .llvm file>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +DumpAsm("d", cl::desc("Print assembly as parsed"), cl::Hidden); int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n"); diff --git a/tools/llvm-dis/dis.cpp b/tools/llvm-dis/dis.cpp index eb9a3a39ed..361564c8e5 100644 --- a/tools/llvm-dis/dis.cpp +++ b/tools/llvm-dis/dis.cpp @@ -27,13 +27,22 @@ enum OutputMode { c, // Generate C code }; -cl::String InputFilename ("", "Load <arg> file, print as assembly", 0, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::EnumFlags<enum OutputMode> WriteMode(cl::NoFlags, - clEnumVal(llvm, "Output LLVM assembly"), - clEnumVal(c , "Output C code for program"), - 0); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<enum OutputMode> +WriteMode(cl::desc("Specify the output format:"), + cl::values( + clEnumVal(llvm, "Output LLVM assembly"), + clEnumVal(c , "Output C code for program"), + 0)); int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .bc -> .ll disassembler\n"); diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp index eb9a3a39ed..361564c8e5 100644 --- a/tools/llvm-dis/llvm-dis.cpp +++ b/tools/llvm-dis/llvm-dis.cpp @@ -27,13 +27,22 @@ enum OutputMode { c, // Generate C code }; -cl::String InputFilename ("", "Load <arg> file, print as assembly", 0, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::EnumFlags<enum OutputMode> WriteMode(cl::NoFlags, - clEnumVal(llvm, "Output LLVM assembly"), - clEnumVal(c , "Output C code for program"), - 0); +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<enum OutputMode> +WriteMode(cl::desc("Specify the output format:"), + cl::values( + clEnumVal(llvm, "Output LLVM assembly"), + clEnumVal(c , "Output C code for program"), + 0)); int main(int argc, char **argv) { cl::ParseCommandLineOptions(argc, argv, " llvm .bc -> .ll disassembler\n"); diff --git a/tools/llvm-extract/llvm-extract.cpp b/tools/llvm-extract/llvm-extract.cpp index d1680c0967..4730f54250 100644 --- a/tools/llvm-extract/llvm-extract.cpp +++ b/tools/llvm-extract/llvm-extract.cpp @@ -18,8 +18,17 @@ #include "Support/CommandLine.h" #include <memory> -static cl::String InputFilename("", "Specify input bytecode file", 0, "-"); -static cl::String ExtractFunc("func", "Specify function to extract", 0, "main"); +// InputFilename - The filename to read from. +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode file>"), + cl::init("-"), cl::value_desc("filename")); + + +// ExtractFunc - The function to extract from the module... defaults to main. +static cl::opt<string> +ExtractFunc("func", cl::desc("Specify function to extract"), cl::init("main"), + cl::value_desc("function")); + struct FunctionExtractorPass : public Pass { const char *getPassName() const { return "Function Extractor"; } diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp index 28499f1988..e2ab02e92d 100644 --- a/tools/llvm-link/llvm-link.cpp +++ b/tools/llvm-link/llvm-link.cpp @@ -22,13 +22,25 @@ using std::cerr; -cl::StringList InputFilenames("", "Load <arg> files, linking them together", - cl::OneOrMore); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, "-"); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::Flag Verbose ("v", "Print information about actions taken"); -cl::Flag DumpAsm ("d", "Print assembly as linked", cl::Hidden, false); -cl::StringList LibPaths ("L", "Specify a library search path", cl::ZeroOrMore); +static cl::list<std::string> +InputFilenames(cl::Positional, cl::OneOrMore, + cl::desc("Load <arg> files, linking them together")); + +static cl::opt<std::string> +OutputFilename("o", cl::desc("Override output filename"), cl::init("-"), + cl::value_desc("filename")); + +static cl::opt<bool> Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +Verbose("v", cl::desc("Print information about actions taken")); + +static cl::opt<bool> +DumpAsm("d", cl::desc("Print assembly as linked"), cl::Hidden); + +static cl::list<std::string> +LibPaths("L", cl::desc("Specify a library search path"), cl::ZeroOrMore, + cl::value_desc("directory"), cl::Prefix); // FileExists - Return true if the specified string is an openable file... static inline bool FileExists(const std::string &FN) { @@ -74,9 +86,7 @@ static inline std::auto_ptr<Module> LoadFile(const std::string &FN) { int main(int argc, char **argv) { - cl::ParseCommandLineOptions(argc, argv, " llvm linker\n", - cl::EnableSingleLetterArgValue | - cl::DisableSingleLetterArgGrouping); + cl::ParseCommandLineOptions(argc, argv, " llvm linker\n"); assert(InputFilenames.size() > 0 && "OneOrMore is not working"); unsigned BaseArg = 0; diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index 609fd2c1e0..54eae4103a 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -123,13 +123,27 @@ struct { // Command line option handling code... // -cl::String InputFilename ("", "Load <arg> file to optimize", cl::NoFlags, "-"); -cl::String OutputFilename("o", "Override output filename", cl::NoFlags, ""); -cl::Flag Force ("f", "Overwrite output files", cl::NoFlags, false); -cl::Flag PrintEachXForm("p", "Print module after each transformation"); -cl::Flag Quiet ("q", "Don't print modifying pass names", 0, false); -cl::Alias QuietA ("quiet", "Alias for -q", cl::NoFlags, Quiet); -cl::EnumList<enum Opts> OptimizationList(cl::NoFlags, +static cl::opt<string> +InputFilename(cl::Positional, cl::desc("<input bytecode>"), cl::init("-")); + +static cl::opt<string> +OutputFilename("o", cl::desc("Override output filename"), + cl::value_desc("filename")); + +static cl::opt<bool> +Force("f", cl::desc("Overwrite output files")); + +static cl::opt<bool> +PrintEachXForm("p", cl::desc("Print module after each transformation")); + +static cl::opt<bool> +Quiet("q", cl::desc("Don't print modifying pass names")); + +static cl::alias +QuietA("quiet", cl::desc("Alias for -q"), cl::aliasopt(Quiet)); + +static cl::list<enum Opts> +OptimizationList(cl::desc("Optimizations available:"), cl::values( clEnumVal(dce , "Dead Code Elimination"), clEnumVal(die , "Dead Instruction Elimination"), clEnumVal(constprop , "Simple constant propogation"), @@ -169,7 +183,7 @@ cl::EnumList<enum Opts> OptimizationList(cl::NoFlags, clEnumVal(printm , "Print working module to stderr"), clEnumVal(verify , "Verify module is well formed"), clEnumVal(lowerrefs , "Decompose multi-dimensional structure/array refs to use one index per instruction"), -0); +0)); |