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
import GHC.Driver.CmdLine
import GHC.Driver.Session hiding (WarnReason(..))
import GHC.Platform.Ways
import GHC.Driver.Ppr
import GHC.SysTools
import GHC.SysTools.BaseDir
import GHC.Types.Annotations
......
......@@ -181,9 +181,11 @@ import GHC.Types.SrcLoc ( noSrcSpan )
import GHC.Types.Unique
import Data.Array
import GHC.Data.FastString
import GHC.Data.BooleanFormula ( mkAnd )
import GHC.Utils.Outputable
import GHC.Utils.Misc
import GHC.Data.BooleanFormula ( mkAnd )
import GHC.Utils.Panic
import qualified Data.ByteString.Char8 as BS
......
......@@ -121,6 +121,7 @@ import GHC.Types.Unique
import GHC.Builtin.Names
import GHC.Data.FastString
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 loops which show up if you import Type instead
......
......@@ -33,10 +33,12 @@ import GHC.Core.TyCon
import GHC.Core.DataCon
import GHC.Types.Id
import GHC.Types.Basic
import GHC.Utils.Outputable
import GHC.Types.Unique
import GHC.Types.Name
import GHC.Utils.Outputable
import GHC.Utils.Misc
import GHC.Utils.Panic
import Data.Bits
import Data.Maybe
......
......@@ -72,6 +72,7 @@ import GHC.Core.Class
import GHC.Core.TyCon
import GHC.Types.Unique.FM
import GHC.Utils.Misc
import GHC.Utils.Panic
import GHC.Builtin.Types.Literals ( typeNatTyCons )
import GHC.Hs.Doc
......
......@@ -33,6 +33,7 @@ import GHC.StgToCmm.Layout ( ArgRep(..) )
import GHC.Runtime.Heap.Layout
import GHC.Driver.Session
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Utils.Misc
import GHC.Types.Unique
......
......@@ -127,6 +127,7 @@ import GHC.Types.Unique
import GHC.Builtin.PrimOps
import GHC.Types.CostCentre
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.FastString
import GHC.Driver.Session
import GHC.Driver.Backend
......
......@@ -16,6 +16,7 @@ import GHC.Driver.Session
import GHC.Platform
import GHC.Platform.Profile
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- Calculate the 'GlobalReg' or stack locations for function call
-- parameters as used by the Cmm calling convention.
......
......@@ -24,6 +24,7 @@ import qualified Data.List as List
import Data.Word
import qualified Data.Map as M
import GHC.Utils.Outputable
import GHC.Utils.Panic
import qualified GHC.Data.TrieMap as TM
import GHC.Types.Unique.FM
import GHC.Types.Unique
......
......@@ -36,6 +36,7 @@ import GHC.Core
import GHC.Data.FastString ( nilFS, mkFastString )
import GHC.Unit.Module
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Cmm.Ppr.Expr ( pprExpr )
import GHC.Types.SrcLoc
import GHC.Utils.Misc ( seqList )
......
......@@ -39,7 +39,7 @@ import GHC.Cmm.CLabel
import GHC.Cmm.MachOp
import GHC.Cmm.Type
import GHC.Driver.Session
import GHC.Utils.Outputable (panic)
import GHC.Utils.Panic (panic)
import GHC.Types.Unique
import Data.Set (Set)
......
......@@ -29,6 +29,7 @@ import GHC.Cmm.Utils
import GHC.Driver.Session
import GHC.Data.Maybe
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Runtime.Heap.Layout
import GHC.Types.Unique.Supply
import GHC.Types.CostCentre
......
......@@ -35,6 +35,7 @@ import GHC.Utils.Misc
import GHC.Driver.Session
import GHC.Data.FastString
import GHC.Utils.Outputable hiding ( isEmpty )
import GHC.Utils.Panic
import qualified Data.Set as Set
import Control.Monad.Fix
import Data.Array as Array
......
......@@ -25,6 +25,7 @@ import GHC.Cmm.Dataflow.Label
import GHC.Data.Maybe
import GHC.Utils.Outputable
import GHC.Utils.Panic
-----------------------------------------------------------------------------
-- Calculating what variables are live on entry to a basic block
......
......@@ -19,7 +19,7 @@ import GHC.Cmm.Utils
import GHC.Cmm
import GHC.Utils.Misc
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Data.Bits
......
......@@ -247,6 +247,7 @@ import GHC.Types.Unique
import GHC.Types.Unique.FM
import GHC.Types.SrcLoc
import GHC.Driver.Session
import GHC.Driver.Ppr
import GHC.Utils.Error
import GHC.Data.StringBuffer
import GHC.Data.FastString
......@@ -1047,7 +1048,7 @@ callishMachOps = listToUFM $
args' = init args
align = case last args of
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
-- compile-time constant. We verify this here, passing it around
-- in the MO_* constructor. In order to do this, however, we
......
......@@ -46,6 +46,7 @@ import GHC.Platform
import GHC.Cmm.Ppr.Expr
import GHC.Cmm
import GHC.Driver.Ppr
import GHC.Driver.Session
import GHC.Utils.Outputable
import GHC.Data.FastString
......
......@@ -41,8 +41,10 @@ where
import GHC.Prelude
import GHC.Platform
import GHC.Driver.Session (targetPlatform)
import GHC.Driver.Ppr
import GHC.Platform
import GHC.Cmm.Expr
import GHC.Utils.Outputable
......
......@@ -24,6 +24,7 @@ import Data.List (sortBy)
import GHC.Data.Maybe
import Control.Monad
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Types.Unique.Supply
import GHC.Cmm.Dataflow.Block
......
......@@ -16,6 +16,7 @@ import GHC.Prelude
import GHC.Utils.Outputable
import GHC.Driver.Backend
import GHC.Utils.Panic
import GHC.Cmm.Dataflow.Label (Label)
import Data.Maybe
......
......@@ -34,6 +34,7 @@ import GHC.Prelude
import GHC.Platform
import GHC.Data.FastString
import GHC.Utils.Outputable
import GHC.Utils.Panic
import Data.Word
import Data.Int
......
......@@ -79,6 +79,7 @@ import GHC.Cmm
import GHC.Cmm.BlockId
import GHC.Cmm.CLabel
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Types.Unique
import GHC.Platform.Regs
......
......@@ -87,12 +87,14 @@ import GHC.Cmm.CLabel
import GHC.Types.Unique.FM
import GHC.Types.Unique.Supply
import GHC.Driver.Session
import GHC.Driver.Ppr
import GHC.Utils.Misc
import GHC.Types.Basic ( Alignment )
import qualified GHC.Utils.Ppr as Pretty
import GHC.Utils.BufHandle
import GHC.Utils.Outputable as Outputable
import GHC.Utils.Panic
import GHC.Data.FastString
import GHC.Types.Unique.Set
import GHC.Utils.Error
......
......@@ -16,6 +16,9 @@ where
#include "HsVersions.h"
import GHC.Prelude
import GHC.Driver.Session (gopt, GeneralFlag(..), DynFlags, targetPlatform)
import GHC.Driver.Ppr (pprTrace)
import GHC.CmmToAsm.Instr
import GHC.CmmToAsm.Monad
import GHC.CmmToAsm.CFG
......@@ -26,12 +29,12 @@ import GHC.Cmm.Dataflow.Collections
import GHC.Cmm.Dataflow.Label
import GHC.Platform
import GHC.Driver.Session (gopt, GeneralFlag(..), DynFlags, targetPlatform)
import GHC.Types.Unique.FM
import GHC.Utils.Misc
import GHC.Data.Graph.Directed
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.Maybe
-- DEBUGGING ONLY
......
......@@ -73,6 +73,7 @@ import Data.Tree
import Data.Bifunctor
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- DEBUGGING ONLY
--import GHC.Cmm.DebugBlock
--import GHC.Data.OrdList
......
......@@ -20,6 +20,7 @@ import GHC.Prelude
import GHC.Cmm.Type
import GHC.Cmm.MachOp
import GHC.Utils.Outputable
import GHC.Utils.Panic
popCntLabel :: Width -> String
popCntLabel w = "hs_popcnt" ++ pprWidth w
......
......@@ -4,12 +4,14 @@ module GHC.CmmToAsm.Dwarf (
import GHC.Prelude
import GHC.Driver.Session
import GHC.Driver.Ppr
import GHC.Cmm.CLabel
import GHC.Cmm.Expr ( GlobalReg(..) )
import GHC.Settings.Config ( cProjectName, cProjectVersion )
import GHC.Core ( Tickish(..) )
import GHC.Cmm.DebugBlock
import GHC.Driver.Session
import GHC.Unit.Module
import GHC.Utils.Outputable
import GHC.Platform
......
......@@ -24,6 +24,7 @@ import GHC.Prelude
import GHC.Cmm
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- 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
......
......@@ -69,7 +69,8 @@ import GHC.Unit.Module
import Control.Monad ( ap )
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.CmmToAsm.CFG
......
......@@ -68,6 +68,7 @@ import GHC.Types.Basic
import GHC.Unit.Module
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.FastString
......
......@@ -62,6 +62,7 @@ import GHC.Types.SrcLoc ( srcSpanFile, srcSpanStartLine, srcSpanStartCol )
-- The rest:
import GHC.Data.OrdList
import GHC.Utils.Outputable
import GHC.Utils.Panic
import Control.Monad ( mapAndUnzipM, when )
import Data.Bits
......
......@@ -43,7 +43,7 @@ import GHC.Cmm
import GHC.Cmm.Info
import GHC.Data.FastString
import GHC.Cmm.CLabel
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Types.Unique.FM (listToUFM, lookupUFM)
import GHC.Types.Unique.Supply
......
......@@ -34,6 +34,7 @@ import GHC.Types.Unique ( pprUniqueAlways, getUnique )
import GHC.Platform
import GHC.Data.FastString
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Driver.Session (targetPlatform)
import Data.Word
......
......@@ -62,6 +62,7 @@ import GHC.Types.Unique
import GHC.Platform.Regs
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Data.Word ( Word8, Word16, Word32, Word64 )
......
......@@ -29,6 +29,7 @@ import GHC.Cmm
import GHC.CmmToAsm.Config
import GHC.Data.FastString
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import qualified Data.Array.Unsafe as U ( castSTUArray )
......
......@@ -22,6 +22,7 @@ import GHC.Platform.Reg
import GHC.Data.Bag
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Types.Unique.FM
import GHC.Types.Unique.Set
......
......@@ -24,6 +24,7 @@ import GHC.Types.Unique.FM
import GHC.Types.Unique.Set
import GHC.Types.Unique.Supply
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Data.List
......
......@@ -46,6 +46,7 @@ import GHC.Types.Unique.FM
import GHC.Types.Unique
import GHC.Utils.Monad.State
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Cmm.Dataflow.Collections
......
......@@ -29,6 +29,7 @@ import GHC.Types.Unique.FM
import GHC.Types.Unique.Set
import GHC.Data.Graph.Directed (flattenSCCs)
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Utils.Monad.State
import GHC.CmmToAsm.CFG
......
......@@ -134,6 +134,7 @@ import GHC.Types.Unique.Set
import GHC.Types.Unique.FM
import GHC.Types.Unique.Supply
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Data.Maybe
......
......@@ -24,6 +24,7 @@ import GHC.Cmm.BlockId
import GHC.Cmm.Dataflow.Collections
import GHC.Data.Graph.Directed
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Types.Unique
import GHC.Types.Unique.FM
import GHC.Types.Unique.Set
......
......@@ -10,6 +10,7 @@ import GHC.Platform.Reg.Class
import GHC.Platform.Reg
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Data.Word
......
......@@ -12,6 +12,7 @@ import GHC.Platform.Reg
import GHC.Platform.Regs
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Data.Word
......
......@@ -52,6 +52,7 @@ import GHC.Cmm hiding (RegSet, emptyRegSet)
import GHC.Data.Graph.Directed
import GHC.Utils.Monad
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Types.Unique.Set
import GHC.Types.Unique.FM
......
......@@ -28,6 +28,7 @@ import GHC.Platform.Reg.Class
import GHC.CmmToAsm.Format
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Types.Unique
import GHC.Platform
......
......@@ -55,7 +55,7 @@ import GHC.CmmToAsm.CPrim
import GHC.Types.Basic
import GHC.Data.FastString
import GHC.Data.OrdList
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import Control.Monad ( mapAndUnzipM )
......
......@@ -28,6 +28,7 @@ import GHC.Cmm.Ppr.Expr () -- For Outputable instances
import GHC.Platform
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.OrdList
--------------------------------------------------------------------------------
......
......@@ -22,6 +22,7 @@ import GHC.Cmm
import GHC.Data.OrdList
import GHC.Utils.Outputable
import GHC.Utils.Panic
getCondCode :: CmmExpr -> NatM CondCode
......
......@@ -18,8 +18,8 @@ import GHC.Platform.Reg
import GHC.CmmToAsm.Format
import GHC.Cmm
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.OrdList
-- | Expand out synthetic instructions in this top level thing
......
......@@ -27,7 +27,7 @@ import GHC.Cmm
import Control.Monad (liftM)
import GHC.Data.OrdList
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- | The dual to getAnyReg: compute an expression into a register, but
-- we don't mind which one it is.
......
......@@ -26,6 +26,7 @@ import GHC.Cmm
import GHC.Data.OrdList
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- | Code to assign a 64 bit value to memory.
assignMem_I64Code
......
......@@ -15,6 +15,7 @@ import GHC.CmmToAsm.Instr
import GHC.Cmm
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- | Enforce intra-block invariants.
......
......@@ -13,6 +13,7 @@ import GHC.Cmm
import GHC.Cmm.CLabel
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- | An immediate value.
-- Not all of these are directly representable by the machine.
......
......@@ -44,7 +44,7 @@ import GHC.Platform.Regs
import GHC.Cmm.BlockId
import GHC.Cmm
import GHC.Data.FastString
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
......
......@@ -47,6 +47,7 @@ import GHC.Cmm.Dataflow.Collections
import GHC.Types.Unique ( pprUniqueAlways )
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Data.FastString
......
......@@ -41,6 +41,7 @@ import GHC.CmmToAsm.Format
import GHC.Types.Unique
import GHC.Utils.Outputable
import GHC.Utils.Panic
{-
The SPARC has 64 registers of interest; 32 integer registers and 32
......
......@@ -16,6 +16,7 @@ import GHC.CmmToAsm.SPARC.Imm
import GHC.CmmToAsm.Config
import GHC.Utils.Outputable
import GHC.Utils.Panic
-- | Get an AddrMode relative to the address in sp.
-- This gives us a stack relative addressing mode for volatile
......
......@@ -83,6 +83,7 @@ import GHC.Types.SrcLoc ( srcSpanFile, srcSpanStartLine, srcSpanStartCol )
import GHC.Types.ForeignCall ( CCallConv(..) )
import GHC.Data.OrdList
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Data.FastString
import GHC.Driver.Session
import GHC.Utils.Misc
......
......@@ -36,6 +36,7 @@ import GHC.Platform.Regs
import GHC.Cmm
import GHC.Data.FastString
import GHC.Utils.Outputable
import GHC.Utils.Panic
import GHC.Platform
import GHC.Types.Basic (Alignment)
......
......@@ -45,6 +45,7 @@ import GHC.Types.Unique ( pprUniqueAlways )
import GHC.Platform
import GHC.Data.FastString
import GHC.Utils.Outputable
import GHC.Utils.Panic
import Data.Word