Only output code if file open is successful


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@890 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llc/llc.cpp b/tools/llc/llc.cpp
index 358f95b..76364aa 100644
--- a/tools/llc/llc.cpp
+++ b/tools/llc/llc.cpp
@@ -86,8 +86,6 @@
 
 
   virtual bool doPassFinalization(Module *M) {
-    // TODO: This should be performed as a moduleCleanup function, but we don't
-    // have one yet!
     Target.emitAssembly(M, *Out);
 
     if (DeleteStream) delete Out;
@@ -147,11 +145,11 @@
              << "! SKIPPING OUTPUT OF TRACE CODE\n";
         delete os;
         retCode = 1;
+      } else {
+        Passes.push_back(new PrintModulePass("", os,
+                                             /*deleteStream*/ true,
+                                             /*printAsBytecode*/ ! DebugTrace));
       }
-      
-      Passes.push_back(new PrintModulePass("", os,
-                                           /*deleteStream*/ true,
-                                           /*printAsBytecode*/ ! DebugTrace));
     }
   
   // If LLVM dumping after transformations is requested, add it to the pipeline