about summary refs log tree commit diff homepage
diff options
context:
space:
mode:
-rw-r--r--lib/Module/Optimize.cpp52
1 files changed, 33 insertions, 19 deletions
diff --git a/lib/Module/Optimize.cpp b/lib/Module/Optimize.cpp
index ff04573e..d55fd0c3 100644
--- a/lib/Module/Optimize.cpp
+++ b/lib/Module/Optimize.cpp
@@ -17,6 +17,7 @@
 
 #include "klee/Config/Version.h"
 #include "klee/Internal/Module/LLVMPassManager.h"
+#include "klee/OptionCategories.h"
 
 #ifdef USE_WORKAROUND_LLVM_PR39177
 #include "Passes.h"
@@ -56,32 +57,45 @@
 using namespace llvm;
 
 // Don't verify at the end
-static cl::opt<bool> DontVerify("disable-verify", cl::ReallyHidden);
-
-static cl::opt<bool> DisableInline("disable-inlining",
-  cl::desc("Do not run the inliner pass"));
-
-static cl::opt<bool> DisableInternalize("disable-internalize",
-  cl::desc("Do not mark all symbols as internal"));
-
-static cl::opt<bool> VerifyEach("verify-each",
- cl::desc("Verify intermediate results of all passes"));
+static cl::opt<bool>
+    DontVerify("disable-verify", cl::ReallyHidden,
+               cl::desc("Do not verify the module integrity (default=false)"),
+               cl::init(false), cl::cat(klee::ModuleCat));
+
+static cl::opt<bool>
+    DisableInline("disable-inlining",
+                  cl::desc("Do not run the inliner pass (default=false)"),
+                  cl::init(false), cl::cat(klee::ModuleCat));
+
+static cl::opt<bool> DisableInternalize(
+    "disable-internalize",
+    cl::desc("Do not mark all symbols as internal (default=false)"),
+    cl::init(false), cl::cat(klee::ModuleCat));
+
+static cl::opt<bool> VerifyEach(
+    "verify-each",
+    cl::desc("Verify intermediate results of all passes (default=false)"),
+    cl::init(false),
+    cl::cat(klee::ModuleCat));
 
 static cl::alias ExportDynamic("export-dynamic",
-  cl::aliasopt(DisableInternalize),
-  cl::desc("Alias for -disable-internalize"));
+                               cl::aliasopt(DisableInternalize),
+                               cl::desc("Alias for -disable-internalize"));
 
-static cl::opt<bool> Strip("strip-all", 
-  cl::desc("Strip all symbol info from executable"));
+static cl::opt<bool>
+    Strip("strip-all", cl::desc("Strip all symbol information from executable"),
+          cl::init(false), cl::cat(klee::ModuleCat));
 
-static cl::alias A0("s", cl::desc("Alias for --strip-all"), 
-  cl::aliasopt(Strip));
+static cl::alias A0("s", cl::desc("Alias for --strip-all"),
+                    cl::aliasopt(Strip));
 
-static cl::opt<bool> StripDebug("strip-debug",
-  cl::desc("Strip debugger symbol info from executable"));
+static cl::opt<bool>
+    StripDebug("strip-debug",
+               cl::desc("Strip debugger symbol info from executable"),
+               cl::init(false), cl::cat(klee::ModuleCat));
 
 static cl::alias A1("S", cl::desc("Alias for --strip-debug"),
-  cl::aliasopt(StripDebug));
+                    cl::aliasopt(StripDebug));
 
 // A utility function that adds a pass to the pass manager but will also add
 // a verifier pass after if we're supposed to verify.