Add a debugTrace for the phases that we run
authorIan Lynagh <igloo@earth.li>
Thu, 29 Jul 2010 20:15:03 +0000 (20:15 +0000)
committerIan Lynagh <igloo@earth.li>
Thu, 29 Jul 2010 20:15:03 +0000 (20:15 +0000)
compiler/main/DriverPhases.hs
compiler/main/DriverPipeline.hs

index 1532c2f..eb217ab 100644 (file)
@@ -35,7 +35,7 @@ module DriverPhases (
 
 #include "HsVersions.h"
 
-import Panic            ( panic )
+import Outputable
 import System.FilePath
 
 -----------------------------------------------------------------------------
@@ -91,6 +91,9 @@ data Phase
         | StopLn        -- Stop, but linking will follow, so generate .o file
   deriving (Eq, Show)
 
+instance Outputable Phase where
+    ppr p = text (show p)
+
 anyHsc :: Phase
 anyHsc = Hsc (panic "anyHsc")
 
index 687c435..81886ec 100644 (file)
@@ -581,7 +581,9 @@ pipeLoop hsc_env phase stop_phase
            " but I wanted to stop at phase " ++ show stop_phase)
 
   | otherwise
-  = do (next_phase, dflags', maybe_loc, output_fn)
+  = do liftIO $ debugTraceMsg (hsc_dflags hsc_env) 4
+                              (ptext (sLit "Running phase") <+> ppr phase)
+       (next_phase, dflags', maybe_loc, output_fn)
           <- runPhase phase stop_phase hsc_env orig_basename
                       orig_suff input_fn orig_get_output_fn maybe_loc
        let hsc_env' = hsc_env {hsc_dflags = dflags'}