Allow redirection of -ddump-* to file
[ghc-hetmet.git] / compiler / main / CodeOutput.lhs
index a66a836..8b5138a 100644 (file)
@@ -26,9 +26,10 @@ import Packages
 import PackageConfig   ( rtsPackageId )
 import Util
 import FastString      ( unpackFS )
-import Cmm             ( Cmm )
+import Cmm             ( RawCmm )
 import HscTypes
 import DynFlags
+
 import ErrUtils                ( dumpIfSet_dyn, showPass, ghcExit )
 import Outputable
 import Pretty          ( Mode(..), printDoc )
@@ -54,7 +55,7 @@ codeOutput :: DynFlags
           -> ModLocation
           -> ForeignStubs
           -> [PackageId]
-          -> [Cmm]                     -- Compiled C--
+          -> [RawCmm]                  -- Compiled C--
           -> IO (Bool{-stub_h_exists-}, Bool{-stub_c_exists-})
 
 codeOutput dflags this_mod location foreign_stubs pkg_deps flat_abstractC
@@ -80,7 +81,7 @@ codeOutput dflags this_mod location foreign_stubs pkg_deps flat_abstractC
        ; stubs_exist <- outputForeignStubs dflags this_mod location foreign_stubs
        ; case hscTarget dflags of {
              HscInterpreted -> return ();
-             HscAsm         -> outputAsm dflags filenm flat_abstractC;
+             HscAsm         -> outputAsm dflags filenm this_mod location flat_abstractC;
              HscC           -> outputC dflags filenm this_mod location 
                                 flat_abstractC stubs_exist pkg_deps
                                 foreign_stubs;
@@ -131,7 +132,7 @@ outputC dflags filenm mod location flat_absC
            all_headers =  c_includes
                       ++ reverse cmdline_includes
                       ++ ffi_decl_headers
-
+                       
        let cc_injects = unlines (map mk_include all_headers)
                   mk_include h_file = 
                    case h_file of 
@@ -157,15 +158,15 @@ outputC dflags filenm mod location flat_absC
 %************************************************************************
 
 \begin{code}
-outputAsm dflags filenm flat_absC
+outputAsm dflags filenm this_mod location flat_absC
 
 #ifndef OMIT_NATIVE_CODEGEN
 
   = do ncg_uniqs <- mkSplitUniqSupply 'n'
-       ncg_output_d <- _scc_ "NativeCodeGen" 
-                         nativeCodeGen dflags flat_absC ncg_uniqs
+       ncg_output_d <- {-# SCC "NativeCodeGen" #-}
+                         nativeCodeGen dflags this_mod location flat_absC ncg_uniqs
        dumpIfSet_dyn dflags Opt_D_dump_asm "Asm code" (docToSDoc ncg_output_d)
-       _scc_ "OutputAsm" doOutput filenm $
+       {-# SCC "OutputAsm" #-} doOutput filenm $
           \f -> printDoc LeftMode f ncg_output_d
   where