diff --git a/lib/Support/CommandLine.cpp b/lib/Support/CommandLine.cpp
index 1f5008a..fc25a63 100644
--- a/lib/Support/CommandLine.cpp
+++ b/lib/Support/CommandLine.cpp
@@ -951,7 +951,7 @@
     }
 
     if (ProgramOverview)
-      cout << "OVERVIEW:" << ProgramOverview << "\n";
+      cout << "OVERVIEW: " << ProgramOverview << "\n";
 
     cout << "USAGE: " << ProgramName << " [options]";
 
diff --git a/tools/bugpoint/bugpoint.cpp b/tools/bugpoint/bugpoint.cpp
index c345143..2978988 100644
--- a/tools/bugpoint/bugpoint.cpp
+++ b/tools/bugpoint/bugpoint.cpp
@@ -66,7 +66,7 @@
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
   cl::ParseCommandLineOptions(argc, argv,
-                              " LLVM automatic testcase reducer. See\nhttp://"
+                              "LLVM automatic testcase reducer. See\nhttp://"
                               "llvm.org/docs/CommandGuide/bugpoint.html"
                               " for more information.\n");
   sys::PrintStackTraceOnErrorSignal();
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index b53f59b..7b55c80 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -172,7 +172,7 @@
 //
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm system compiler\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm system compiler\n");
   sys::PrintStackTraceOnErrorSignal();
 
   // Load the module to be compiled...
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index 3ce2807..033614e 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -67,7 +67,7 @@
 int main(int argc, char **argv, char * const *envp) {
   atexit(do_shutdown);  // Call llvm_shutdown() on exit.
   cl::ParseCommandLineOptions(argc, argv,
-                              " llvm interpreter & dynamic compiler\n");
+                              "llvm interpreter & dynamic compiler\n");
   sys::PrintStackTraceOnErrorSignal();
 
   // If the user doesn't want core files, disable them.
diff --git a/tools/llvm-ar/llvm-ar.cpp b/tools/llvm-ar/llvm-ar.cpp
index 1d3ede6..1620bf4 100644
--- a/tools/llvm-ar/llvm-ar.cpp
+++ b/tools/llvm-ar/llvm-ar.cpp
@@ -690,7 +690,7 @@
   // Have the command line options parsed and handle things
   // like --help and --version.
   cl::ParseCommandLineOptions(argc, argv,
-    " LLVM Archiver (llvm-ar)\n\n"
+    "LLVM Archiver (llvm-ar)\n\n"
     "  This program archives bitcode files into single libraries\n"
   );
 
diff --git a/tools/llvm-as/llvm-as.cpp b/tools/llvm-as/llvm-as.cpp
index 41b6846..763038a 100644
--- a/tools/llvm-as/llvm-as.cpp
+++ b/tools/llvm-as/llvm-as.cpp
@@ -48,7 +48,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm .ll -> .bc assembler\n");
   sys::PrintStackTraceOnErrorSignal();
 
   int exitCode = 0;
diff --git a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
index 126a2ed..b596fe3 100644
--- a/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
+++ b/tools/llvm-bcanalyzer/llvm-bcanalyzer.cpp
@@ -496,7 +496,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm-bcanalyzer file analyzer\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm-bcanalyzer file analyzer\n");
   
   sys::PrintStackTraceOnErrorSignal();
   
diff --git a/tools/llvm-db/llvm-db.cpp b/tools/llvm-db/llvm-db.cpp
index 57994bf..90b577c 100644
--- a/tools/llvm-db/llvm-db.cpp
+++ b/tools/llvm-db/llvm-db.cpp
@@ -53,7 +53,7 @@
   std::cout << "NOTE: llvm-db is known useless right now.\n";
   try {
     cl::ParseCommandLineOptions(argc, argv,
-                                " llvm source-level debugger\n");
+                                "llvm source-level debugger\n");
     sys::PrintStackTraceOnErrorSignal();
 
     if (!Quiet)
diff --git a/tools/llvm-dis/llvm-dis.cpp b/tools/llvm-dis/llvm-dis.cpp
index 0c87f8c..2766690 100644
--- a/tools/llvm-dis/llvm-dis.cpp
+++ b/tools/llvm-dis/llvm-dis.cpp
@@ -46,7 +46,7 @@
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
   try {
-    cl::ParseCommandLineOptions(argc, argv, " llvm .bc -> .ll disassembler\n");
+    cl::ParseCommandLineOptions(argc, argv, "llvm .bc -> .ll disassembler\n");
     sys::PrintStackTraceOnErrorSignal();
 
     std::ostream *Out = &std::cout;  // Default to printing to stdout.
diff --git a/tools/llvm-extract/llvm-extract.cpp b/tools/llvm-extract/llvm-extract.cpp
index 4a7befb..b7028bf 100644
--- a/tools/llvm-extract/llvm-extract.cpp
+++ b/tools/llvm-extract/llvm-extract.cpp
@@ -52,7 +52,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm extractor\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm extractor\n");
   sys::PrintStackTraceOnErrorSignal();
 
   std::auto_ptr<Module> M;
diff --git a/tools/llvm-ld/llvm-ld.cpp b/tools/llvm-ld/llvm-ld.cpp
index 72c4b1e..bb3f625 100644
--- a/tools/llvm-ld/llvm-ld.cpp
+++ b/tools/llvm-ld/llvm-ld.cpp
@@ -469,7 +469,7 @@
     progname = sys::Path(argv[0]).getBasename();
 
     // Parse the command line options
-    cl::ParseCommandLineOptions(argc, argv, " llvm linker\n");
+    cl::ParseCommandLineOptions(argc, argv, "llvm linker\n");
     sys::PrintStackTraceOnErrorSignal();
 
     // Construct a Linker (now that Verbose is set)
diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp
index 5db13aa..a5def95 100644
--- a/tools/llvm-link/llvm-link.cpp
+++ b/tools/llvm-link/llvm-link.cpp
@@ -79,7 +79,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm linker\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm linker\n");
   sys::PrintStackTraceOnErrorSignal();
   assert(InputFilenames.size() > 0 && "OneOrMore is not working");
 
diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp
index bf98653..a0b92cc 100644
--- a/tools/llvm-nm/llvm-nm.cpp
+++ b/tools/llvm-nm/llvm-nm.cpp
@@ -165,7 +165,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm symbol table dumper\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm symbol table dumper\n");
   sys::PrintStackTraceOnErrorSignal();
 
   ToolName = argv[0];
diff --git a/tools/llvm-prof/llvm-prof.cpp b/tools/llvm-prof/llvm-prof.cpp
index dcb9d1f..f4dd119 100644
--- a/tools/llvm-prof/llvm-prof.cpp
+++ b/tools/llvm-prof/llvm-prof.cpp
@@ -112,7 +112,7 @@
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
   try {
-    cl::ParseCommandLineOptions(argc, argv, " llvm profile dump decoder\n");
+    cl::ParseCommandLineOptions(argc, argv, "llvm profile dump decoder\n");
     sys::PrintStackTraceOnErrorSignal();
 
     // Read in the bitcode file...
diff --git a/tools/llvm-ranlib/llvm-ranlib.cpp b/tools/llvm-ranlib/llvm-ranlib.cpp
index 9085b7e..b89b713 100644
--- a/tools/llvm-ranlib/llvm-ranlib.cpp
+++ b/tools/llvm-ranlib/llvm-ranlib.cpp
@@ -47,7 +47,7 @@
   // Have the command line options parsed and handle things
   // like --help and --version.
   cl::ParseCommandLineOptions(argc, argv,
-    " LLVM Archive Index Generator (llvm-ranlib)\n\n"
+    "LLVM Archive Index Generator (llvm-ranlib)\n\n"
     "  This program adds or updates an index of bitcode symbols\n"
     "  to an LLVM archive file."
   );
diff --git a/tools/llvm-upgrade/llvm-upgrade.cpp b/tools/llvm-upgrade/llvm-upgrade.cpp
index 9425e3e..f7af675 100644
--- a/tools/llvm-upgrade/llvm-upgrade.cpp
+++ b/tools/llvm-upgrade/llvm-upgrade.cpp
@@ -51,7 +51,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .bc assembler\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm .ll -> .bc assembler\n");
   sys::PrintStackTraceOnErrorSignal();
 
   int exitCode = 0;
diff --git a/tools/llvm2cpp/llvm2cpp.cpp b/tools/llvm2cpp/llvm2cpp.cpp
index 2db7543..93eb233 100644
--- a/tools/llvm2cpp/llvm2cpp.cpp
+++ b/tools/llvm2cpp/llvm2cpp.cpp
@@ -43,7 +43,7 @@
 
 int main(int argc, char **argv) {
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
-  cl::ParseCommandLineOptions(argc, argv, " llvm .ll -> .cpp assembler\n");
+  cl::ParseCommandLineOptions(argc, argv, "llvm .ll -> .cpp assembler\n");
   sys::PrintStackTraceOnErrorSignal();
 
   int exitCode = 0;
diff --git a/tools/llvmc/llvmc.cpp b/tools/llvmc/llvmc.cpp
index c257a3e..dc78397 100644
--- a/tools/llvmc/llvmc.cpp
+++ b/tools/llvmc/llvmc.cpp
@@ -257,7 +257,7 @@
 
     // Parse the command line options
     cl::ParseCommandLineOptions(argc, argv,
-      " LLVM Compiler Driver (llvmc)\n\n"
+      "LLVM Compiler Driver (llvmc)\n\n"
       "  This program provides easy invocation of the LLVM tool set\n"
       "  and other compiler tools.\n"
     );
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index 9d71459..3526e62 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -308,7 +308,7 @@
   llvm_shutdown_obj X;  // Call llvm_shutdown() on exit.
   try {
     cl::ParseCommandLineOptions(argc, argv,
-      " llvm .bc -> .bc modular optimizer and analysis printer \n");
+      "llvm .bc -> .bc modular optimizer and analysis printer\n");
     sys::PrintStackTraceOnErrorSignal();
 
     // Allocate a full target machine description only if necessary.
