Commit accbc242 authored by Sylvain Henry's avatar Sylvain Henry Committed by Marge Bot

DynFlags: disentangle Outputable

- put panic related functions into GHC.Utils.Panic
- put trace related functions using DynFlags in GHC.Driver.Ppr

One step closer making Outputable fully independent of DynFlags.

Bump haddock submodule
parent f1088b3f
Pipeline #23299 passed with stages
in 378 minutes and 10 seconds
...@@ -338,6 +338,7 @@ import GHC.Driver.Types ...@@ -338,6 +338,7 @@ import GHC.Driver.Types
import GHC.Driver.CmdLine import GHC.Driver.CmdLine
import GHC.Driver.Session hiding (WarnReason(..)) import GHC.Driver.Session hiding (WarnReason(..))
import GHC.Platform.Ways import GHC.Platform.Ways
import GHC.Driver.Ppr
import GHC.SysTools import GHC.SysTools
import GHC.SysTools.BaseDir import GHC.SysTools.BaseDir
import GHC.Types.Annotations import GHC.Types.Annotations
......
...@@ -181,9 +181,11 @@ import GHC.Types.SrcLoc ( noSrcSpan ) ...@@ -181,9 +181,11 @@ import GHC.Types.SrcLoc ( noSrcSpan )
import GHC.Types.Unique import GHC.Types.Unique
import Data.Array import Data.Array
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Data.BooleanFormula ( mkAnd )
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Data.BooleanFormula ( mkAnd ) import GHC.Utils.Panic
import qualified Data.ByteString.Char8 as BS import qualified Data.ByteString.Char8 as BS
......
...@@ -121,6 +121,7 @@ import GHC.Types.Unique ...@@ -121,6 +121,7 @@ import GHC.Types.Unique
import GHC.Builtin.Names import GHC.Builtin.Names
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Core.TyCo.Rep -- Doesn't need special access, but this is easier to avoid import GHC.Core.TyCo.Rep -- Doesn't need special access, but this is easier to avoid
-- import loops which show up if you import Type instead -- import loops which show up if you import Type instead
......
...@@ -33,10 +33,12 @@ import GHC.Core.TyCon ...@@ -33,10 +33,12 @@ import GHC.Core.TyCon
import GHC.Core.DataCon import GHC.Core.DataCon
import GHC.Types.Id import GHC.Types.Id
import GHC.Types.Basic import GHC.Types.Basic
import GHC.Utils.Outputable
import GHC.Types.Unique import GHC.Types.Unique
import GHC.Types.Name import GHC.Types.Name
import GHC.Utils.Outputable
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Utils.Panic
import Data.Bits import Data.Bits
import Data.Maybe import Data.Maybe
......
...@@ -72,6 +72,7 @@ import GHC.Core.Class ...@@ -72,6 +72,7 @@ import GHC.Core.Class
import GHC.Core.TyCon import GHC.Core.TyCon
import GHC.Types.Unique.FM import GHC.Types.Unique.FM
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Utils.Panic
import GHC.Builtin.Types.Literals ( typeNatTyCons ) import GHC.Builtin.Types.Literals ( typeNatTyCons )
import GHC.Hs.Doc import GHC.Hs.Doc
......
...@@ -33,6 +33,7 @@ import GHC.StgToCmm.Layout ( ArgRep(..) ) ...@@ -33,6 +33,7 @@ import GHC.StgToCmm.Layout ( ArgRep(..) )
import GHC.Runtime.Heap.Layout import GHC.Runtime.Heap.Layout
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform import GHC.Platform
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Types.Unique import GHC.Types.Unique
......
...@@ -127,6 +127,7 @@ import GHC.Types.Unique ...@@ -127,6 +127,7 @@ import GHC.Types.Unique
import GHC.Builtin.PrimOps import GHC.Builtin.PrimOps
import GHC.Types.CostCentre import GHC.Types.CostCentre
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Driver.Backend import GHC.Driver.Backend
......
...@@ -16,6 +16,7 @@ import GHC.Driver.Session ...@@ -16,6 +16,7 @@ import GHC.Driver.Session
import GHC.Platform import GHC.Platform
import GHC.Platform.Profile import GHC.Platform.Profile
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
-- Calculate the 'GlobalReg' or stack locations for function call -- Calculate the 'GlobalReg' or stack locations for function call
-- parameters as used by the Cmm calling convention. -- parameters as used by the Cmm calling convention.
......
...@@ -24,6 +24,7 @@ import qualified Data.List as List ...@@ -24,6 +24,7 @@ import qualified Data.List as List
import Data.Word import Data.Word
import qualified Data.Map as M import qualified Data.Map as M
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import qualified GHC.Data.TrieMap as TM import qualified GHC.Data.TrieMap as TM
import GHC.Types.Unique.FM import GHC.Types.Unique.FM
import GHC.Types.Unique import GHC.Types.Unique
......
...@@ -36,6 +36,7 @@ import GHC.Core ...@@ -36,6 +36,7 @@ import GHC.Core
import GHC.Data.FastString ( nilFS, mkFastString ) import GHC.Data.FastString ( nilFS, mkFastString )
import GHC.Unit.Module import GHC.Unit.Module
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Cmm.Ppr.Expr ( pprExpr ) import GHC.Cmm.Ppr.Expr ( pprExpr )
import GHC.Types.SrcLoc import GHC.Types.SrcLoc
import GHC.Utils.Misc ( seqList ) import GHC.Utils.Misc ( seqList )
......
...@@ -39,7 +39,7 @@ import GHC.Cmm.CLabel ...@@ -39,7 +39,7 @@ import GHC.Cmm.CLabel
import GHC.Cmm.MachOp import GHC.Cmm.MachOp
import GHC.Cmm.Type import GHC.Cmm.Type
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Utils.Outputable (panic) import GHC.Utils.Panic (panic)
import GHC.Types.Unique import GHC.Types.Unique
import Data.Set (Set) import Data.Set (Set)
......
...@@ -29,6 +29,7 @@ import GHC.Cmm.Utils ...@@ -29,6 +29,7 @@ import GHC.Cmm.Utils
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Data.Maybe import GHC.Data.Maybe
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Runtime.Heap.Layout import GHC.Runtime.Heap.Layout
import GHC.Types.Unique.Supply import GHC.Types.Unique.Supply
import GHC.Types.CostCentre import GHC.Types.CostCentre
......
...@@ -35,6 +35,7 @@ import GHC.Utils.Misc ...@@ -35,6 +35,7 @@ import GHC.Utils.Misc
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Utils.Outputable hiding ( isEmpty ) import GHC.Utils.Outputable hiding ( isEmpty )
import GHC.Utils.Panic
import qualified Data.Set as Set import qualified Data.Set as Set
import Control.Monad.Fix import Control.Monad.Fix
import Data.Array as Array import Data.Array as Array
......
...@@ -25,6 +25,7 @@ import GHC.Cmm.Dataflow.Label ...@@ -25,6 +25,7 @@ import GHC.Cmm.Dataflow.Label
import GHC.Data.Maybe import GHC.Data.Maybe
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
-- Calculating what variables are live on entry to a basic block -- Calculating what variables are live on entry to a basic block
......
...@@ -19,7 +19,7 @@ import GHC.Cmm.Utils ...@@ -19,7 +19,7 @@ import GHC.Cmm.Utils
import GHC.Cmm import GHC.Cmm
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Utils.Outputable import GHC.Utils.Panic
import GHC.Platform import GHC.Platform
import Data.Bits import Data.Bits
......
...@@ -247,6 +247,7 @@ import GHC.Types.Unique ...@@ -247,6 +247,7 @@ import GHC.Types.Unique
import GHC.Types.Unique.FM import GHC.Types.Unique.FM
import GHC.Types.SrcLoc import GHC.Types.SrcLoc
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Driver.Ppr
import GHC.Utils.Error import GHC.Utils.Error
import GHC.Data.StringBuffer import GHC.Data.StringBuffer
import GHC.Data.FastString import GHC.Data.FastString
...@@ -1047,7 +1048,7 @@ callishMachOps = listToUFM $ ...@@ -1047,7 +1048,7 @@ callishMachOps = listToUFM $
args' = init args args' = init args
align = case last args of align = case last args of
CmmLit (CmmInt alignInteger _) -> fromInteger alignInteger CmmLit (CmmInt alignInteger _) -> fromInteger alignInteger
e -> pprPgmError "Non-constant alignment in memcpy-like function:" (ppr e) e -> pgmErrorDoc "Non-constant alignment in memcpy-like function:" (ppr e)
-- The alignment of memcpy-ish operations must be a -- The alignment of memcpy-ish operations must be a
-- compile-time constant. We verify this here, passing it around -- compile-time constant. We verify this here, passing it around
-- in the MO_* constructor. In order to do this, however, we -- in the MO_* constructor. In order to do this, however, we
......
...@@ -46,6 +46,7 @@ import GHC.Platform ...@@ -46,6 +46,7 @@ import GHC.Platform
import GHC.Cmm.Ppr.Expr import GHC.Cmm.Ppr.Expr
import GHC.Cmm import GHC.Cmm
import GHC.Driver.Ppr
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Data.FastString import GHC.Data.FastString
......
...@@ -41,8 +41,10 @@ where ...@@ -41,8 +41,10 @@ where
import GHC.Prelude import GHC.Prelude
import GHC.Platform
import GHC.Driver.Session (targetPlatform) import GHC.Driver.Session (targetPlatform)
import GHC.Driver.Ppr
import GHC.Platform
import GHC.Cmm.Expr import GHC.Cmm.Expr
import GHC.Utils.Outputable import GHC.Utils.Outputable
......
...@@ -24,6 +24,7 @@ import Data.List (sortBy) ...@@ -24,6 +24,7 @@ import Data.List (sortBy)
import GHC.Data.Maybe import GHC.Data.Maybe
import Control.Monad import Control.Monad
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform import GHC.Platform
import GHC.Types.Unique.Supply import GHC.Types.Unique.Supply
import GHC.Cmm.Dataflow.Block import GHC.Cmm.Dataflow.Block
......
...@@ -16,6 +16,7 @@ import GHC.Prelude ...@@ -16,6 +16,7 @@ import GHC.Prelude
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Driver.Backend import GHC.Driver.Backend
import GHC.Utils.Panic
import GHC.Cmm.Dataflow.Label (Label) import GHC.Cmm.Dataflow.Label (Label)
import Data.Maybe import Data.Maybe
......
...@@ -34,6 +34,7 @@ import GHC.Prelude ...@@ -34,6 +34,7 @@ import GHC.Prelude
import GHC.Platform import GHC.Platform
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import Data.Word import Data.Word
import Data.Int import Data.Int
......
...@@ -79,6 +79,7 @@ import GHC.Cmm ...@@ -79,6 +79,7 @@ import GHC.Cmm
import GHC.Cmm.BlockId import GHC.Cmm.BlockId
import GHC.Cmm.CLabel import GHC.Cmm.CLabel
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Types.Unique import GHC.Types.Unique
import GHC.Platform.Regs import GHC.Platform.Regs
......
...@@ -87,12 +87,14 @@ import GHC.Cmm.CLabel ...@@ -87,12 +87,14 @@ import GHC.Cmm.CLabel
import GHC.Types.Unique.FM import GHC.Types.Unique.FM
import GHC.Types.Unique.Supply import GHC.Types.Unique.Supply
import GHC.Driver.Session import GHC.Driver.Session
import GHC.Driver.Ppr
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Types.Basic ( Alignment ) import GHC.Types.Basic ( Alignment )
import qualified GHC.Utils.Ppr as Pretty import qualified GHC.Utils.Ppr as Pretty
import GHC.Utils.BufHandle import GHC.Utils.BufHandle
import GHC.Utils.Outputable as Outputable import GHC.Utils.Outputable as Outputable
import GHC.Utils.Panic
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Types.Unique.Set import GHC.Types.Unique.Set
import GHC.Utils.Error import GHC.Utils.Error
......
...@@ -16,6 +16,9 @@ where ...@@ -16,6 +16,9 @@ where
#include "HsVersions.h" #include "HsVersions.h"
import GHC.Prelude import GHC.Prelude
import GHC.Driver.Session (gopt, GeneralFlag(..), DynFlags, targetPlatform)
import GHC.Driver.Ppr (pprTrace)
import GHC.CmmToAsm.Instr import GHC.CmmToAsm.Instr
import GHC.CmmToAsm.Monad import GHC.CmmToAsm.Monad
import GHC.CmmToAsm.CFG import GHC.CmmToAsm.CFG
...@@ -26,12 +29,12 @@ import GHC.Cmm.Dataflow.Collections ...@@ -26,12 +29,12 @@ import GHC.Cmm.Dataflow.Collections
import GHC.Cmm.Dataflow.Label import GHC.Cmm.Dataflow.Label
import GHC.Platform import GHC.Platform
import GHC.Driver.Session (gopt, GeneralFlag(..), DynFlags, targetPlatform)
import GHC.Types.Unique.FM import GHC.Types.Unique.FM
import GHC.Utils.Misc import GHC.Utils.Misc
import GHC.Data.Graph.Directed import GHC.Data.Graph.Directed
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.Maybe import GHC.Data.Maybe
-- DEBUGGING ONLY -- DEBUGGING ONLY
......
...@@ -73,6 +73,7 @@ import Data.Tree ...@@ -73,6 +73,7 @@ import Data.Tree
import Data.Bifunctor import Data.Bifunctor
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
-- DEBUGGING ONLY -- DEBUGGING ONLY
--import GHC.Cmm.DebugBlock --import GHC.Cmm.DebugBlock
--import GHC.Data.OrdList --import GHC.Data.OrdList
......
...@@ -20,6 +20,7 @@ import GHC.Prelude ...@@ -20,6 +20,7 @@ import GHC.Prelude
import GHC.Cmm.Type import GHC.Cmm.Type
import GHC.Cmm.MachOp import GHC.Cmm.MachOp
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
popCntLabel :: Width -> String popCntLabel :: Width -> String
popCntLabel w = "hs_popcnt" ++ pprWidth w popCntLabel w = "hs_popcnt" ++ pprWidth w
......
...@@ -4,12 +4,14 @@ module GHC.CmmToAsm.Dwarf ( ...@@ -4,12 +4,14 @@ module GHC.CmmToAsm.Dwarf (
import GHC.Prelude import GHC.Prelude
import GHC.Driver.Session
import GHC.Driver.Ppr
import GHC.Cmm.CLabel import GHC.Cmm.CLabel
import GHC.Cmm.Expr ( GlobalReg(..) ) import GHC.Cmm.Expr ( GlobalReg(..) )
import GHC.Settings.Config ( cProjectName, cProjectVersion ) import GHC.Settings.Config ( cProjectName, cProjectVersion )
import GHC.Core ( Tickish(..) ) import GHC.Core ( Tickish(..) )
import GHC.Cmm.DebugBlock import GHC.Cmm.DebugBlock
import GHC.Driver.Session
import GHC.Unit.Module import GHC.Unit.Module
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Platform import GHC.Platform
......
...@@ -24,6 +24,7 @@ import GHC.Prelude ...@@ -24,6 +24,7 @@ import GHC.Prelude
import GHC.Cmm import GHC.Cmm
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
-- It looks very like the old MachRep, but it's now of purely local -- It looks very like the old MachRep, but it's now of purely local
-- significance, here in the native code generator. You can change it -- significance, here in the native code generator. You can change it
......
...@@ -69,7 +69,8 @@ import GHC.Unit.Module ...@@ -69,7 +69,8 @@ import GHC.Unit.Module
import Control.Monad ( ap ) import Control.Monad ( ap )
import GHC.CmmToAsm.Instr import GHC.CmmToAsm.Instr
import GHC.Utils.Outputable (SDoc, pprPanic, ppr) import GHC.Utils.Outputable (SDoc, ppr)
import GHC.Utils.Panic (pprPanic)
import GHC.Cmm (RawCmmDecl, RawCmmStatics) import GHC.Cmm (RawCmmDecl, RawCmmStatics)
import GHC.CmmToAsm.CFG import GHC.CmmToAsm.CFG
......
...@@ -68,6 +68,7 @@ import GHC.Types.Basic ...@@ -68,6 +68,7 @@ import GHC.Types.Basic
import GHC.Unit.Module import GHC.Unit.Module
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.FastString import GHC.Data.FastString
......
...@@ -62,6 +62,7 @@ import GHC.Types.SrcLoc ( srcSpanFile, srcSpanStartLine, srcSpanStartCol ) ...@@ -62,6 +62,7 @@ import GHC.Types.SrcLoc ( srcSpanFile, srcSpanStartLine, srcSpanStartCol )
-- The rest: -- The rest:
import GHC.Data.OrdList import GHC.Data.OrdList
import GHC.Utils.Outputable import GHC.Utils.Outputable
import GHC.Utils.Panic
import Control.Monad ( mapAndUnzipM, when ) import Control.Monad ( mapAndUnzipM, when )
import Data.Bits import Data.Bits
......
...@@ -43,7 +43,7 @@ import GHC.Cmm ...@@ -43,7 +43,7 @@ import GHC.Cmm
import GHC.Cmm.Info import GHC.Cmm.Info
import GHC.Data.FastString import GHC.Data.FastString
import GHC.Cmm.CLabel import GHC.Cmm.CLabel
import GHC.Utils.Outputable import GHC.Utils.Panic
import GHC.Platform import GHC.Platform