diff --git a/llvm/tools/gccas/gccas.cpp b/llvm/tools/gccas/gccas.cpp
index dd8b8e0..ef1d8d6 100644
--- a/llvm/tools/gccas/gccas.cpp
+++ b/llvm/tools/gccas/gccas.cpp
@@ -48,7 +48,9 @@
                        cl::desc("Do not run any optimization passes"));
 
   cl::opt<bool>
-  DisableDSE("disable-dse", cl::desc("Do not run dead store elimination"));
+  StripDebug("strip-debug",
+             cl::desc("Strip debugger symbol info from translation unit"));
+
   cl::opt<bool> 
   NoCompress("disable-compression", cl::init(false),
              cl::desc("Don't ompress the generated bytecode"));
@@ -66,9 +68,14 @@
 
 void AddConfiguredTransformationPasses(PassManager &PM) {
   PM.add(createVerifierPass());                  // Verify that input is correct
+
   addPass(PM, createLowerSetJmpPass());          // Lower llvm.setjmp/.longjmp
   addPass(PM, createFunctionResolvingPass());    // Resolve (...) functions
 
+  // If the -strip-debug command line option was specified, do it.
+  if (StripDebug)
+    addPass(PM, createStripSymbolsPass(true));
+
   if (DisableOptimizations) return;
 
   addPass(PM, createRaiseAllocationsPass());     // call %malloc -> malloc inst
@@ -109,8 +116,7 @@
   // Run instcombine after redundancy elimination to exploit opportunities
   // opened up by them.
   addPass(PM, createInstructionCombiningPass());
-  if (!DisableDSE)
-    addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores
+  addPass(PM, createDeadStoreEliminationPass()); // Delete dead stores
   addPass(PM, createAggressiveDCEPass());        // SSA based 'Aggressive DCE'
   addPass(PM, createCFGSimplificationPass());    // Merge & remove BBs
   addPass(PM, createDeadTypeEliminationPass());  // Eliminate dead types
