Module hierarchy: StgToCmm (#13009)
authorSylvain Henry <sylvain@haskus.fr>
Tue, 13 Aug 2019 15:26:32 +0000 (17:26 +0200)
committerSylvain Henry <sylvain@haskus.fr>
Mon, 9 Sep 2019 22:04:50 +0000 (00:04 +0200)
Add StgToCmm module hierarchy. Platform modules that are used in several
other places (NCG, LLVM codegen, Cmm transformations) are put into
GHC.Platform.

74 files changed:
compiler/GHC/Platform/ARM.hs [moved from compiler/codeGen/CodeGen/Platform/ARM.hs with 51% similarity]
compiler/GHC/Platform/ARM64.hs [moved from compiler/codeGen/CodeGen/Platform/ARM64.hs with 52% similarity]
compiler/GHC/Platform/NoRegs.hs [new file with mode: 0644]
compiler/GHC/Platform/PPC.hs [moved from compiler/codeGen/CodeGen/Platform/PPC.hs with 53% similarity]
compiler/GHC/Platform/Regs.hs [moved from compiler/codeGen/CodeGen/Platform.hs with 88% similarity]
compiler/GHC/Platform/SPARC.hs [moved from compiler/codeGen/CodeGen/Platform/SPARC.hs with 51% similarity]
compiler/GHC/Platform/X86.hs [moved from compiler/codeGen/CodeGen/Platform/X86.hs with 52% similarity]
compiler/GHC/Platform/X86_64.hs [moved from compiler/codeGen/CodeGen/Platform/X86_64.hs with 51% similarity]
compiler/GHC/StgToCmm.hs [moved from compiler/codeGen/StgCmm.hs with 95% similarity]
compiler/GHC/StgToCmm/ArgRep.hs [moved from compiler/codeGen/StgCmmArgRep.hs with 94% similarity]
compiler/GHC/StgToCmm/Bind.hs [moved from compiler/codeGen/StgCmmBind.hs with 98% similarity]
compiler/GHC/StgToCmm/Bind.hs-boot [moved from compiler/codeGen/StgCmmBind.hs-boot with 50% similarity]
compiler/GHC/StgToCmm/CgUtils.hs [moved from compiler/codeGen/CgUtils.hs with 99% similarity]
compiler/GHC/StgToCmm/Closure.hs [moved from compiler/codeGen/StgCmmClosure.hs with 99% similarity]
compiler/GHC/StgToCmm/Con.hs [moved from compiler/codeGen/StgCmmCon.hs with 96% similarity]
compiler/GHC/StgToCmm/Env.hs [moved from compiler/codeGen/StgCmmEnv.hs with 97% similarity]
compiler/GHC/StgToCmm/Expr.hs [moved from compiler/codeGen/StgCmmExpr.hs with 97% similarity]
compiler/GHC/StgToCmm/ExtCode.hs [moved from compiler/codeGen/StgCmmExtCode.hs with 98% similarity]
compiler/GHC/StgToCmm/Foreign.hs [moved from compiler/codeGen/StgCmmForeign.hs with 99% similarity]
compiler/GHC/StgToCmm/Heap.hs [moved from compiler/codeGen/StgCmmHeap.hs with 98% similarity]
compiler/GHC/StgToCmm/Hpc.hs [moved from compiler/codeGen/StgCmmHpc.hs with 92% similarity]
compiler/GHC/StgToCmm/Layout.hs [moved from compiler/codeGen/StgCmmLayout.hs with 98% similarity]
compiler/GHC/StgToCmm/Monad.hs [moved from compiler/codeGen/StgCmmMonad.hs with 99% similarity]
compiler/GHC/StgToCmm/Prim.hs [moved from compiler/codeGen/StgCmmPrim.hs with 99% similarity]
compiler/GHC/StgToCmm/Prof.hs [moved from compiler/codeGen/StgCmmProf.hs with 99% similarity]
compiler/GHC/StgToCmm/Ticky.hs [moved from compiler/codeGen/StgCmmTicky.hs with 98% similarity]
compiler/GHC/StgToCmm/Utils.hs [moved from compiler/codeGen/StgCmmUtils.hs with 99% similarity]
compiler/cmm/Cmm.hs
compiler/cmm/CmmBuildInfoTables.hs
compiler/cmm/CmmExpr.hs
compiler/cmm/CmmLayoutStack.hs
compiler/cmm/CmmNode.hs
compiler/cmm/CmmParse.y
compiler/cmm/CmmSink.hs
compiler/cmm/CmmSwitch.hs
compiler/cmm/CmmUtils.hs
compiler/cmm/Debug.hs
compiler/cmm/cmm-notes
compiler/codeGen/CodeGen/Platform/NoRegs.hs [deleted file]
compiler/ghc.cabal.in
compiler/ghci/ByteCodeAsm.hs
compiler/ghci/ByteCodeGen.hs
compiler/ghci/ByteCodeInstr.hs
compiler/ghci/ByteCodeItbls.hs
compiler/ghci/RtClosureInspect.hs
compiler/llvmGen/LlvmCodeGen.hs
compiler/llvmGen/LlvmCodeGen/Base.hs
compiler/llvmGen/LlvmCodeGen/CodeGen.hs
compiler/main/HscMain.hs
compiler/nativeGen/AsmCodeGen.hs
compiler/nativeGen/Dwarf/Types.hs
compiler/nativeGen/PPC/CodeGen.hs
compiler/nativeGen/PPC/Instr.hs
compiler/nativeGen/PPC/Regs.hs
compiler/nativeGen/RegAlloc/Linear/SPARC/FreeRegs.hs
compiler/nativeGen/SPARC/CodeGen/Base.hs
compiler/nativeGen/SPARC/Instr.hs
compiler/nativeGen/SPARC/Regs.hs
compiler/nativeGen/X86/CodeGen.hs
compiler/nativeGen/X86/Instr.hs
compiler/nativeGen/X86/Regs.hs
compiler/prelude/PrelRules.hs
compiler/simplStg/StgLiftLams/Analysis.hs
compiler/simplStg/UnariseStg.hs
compiler/stgSyn/StgSyn.hs
docs/stg-spec/stg-spec.mng
includes/rts/prof/CCS.h
includes/rts/storage/FunTypes.h
includes/stg/MiscClosures.h
includes/stg/SMP.h
rts/PrimOps.cmm
testsuite/tests/codeGen/should_run/T13825-unit.hs
testsuite/tests/regalloc/regalloc_unit_tests.hs
utils/genapply/Main.hs

similarity index 51%
rename from compiler/codeGen/CodeGen/Platform/ARM.hs
rename to compiler/GHC/Platform/ARM.hs
index a2cb476..d0c7e58 100644 (file)
@@ -1,10 +1,10 @@
 {-# LANGUAGE CPP #-}
 
-module CodeGen.Platform.ARM where
+module GHC.Platform.ARM where
 
 import GhcPrelude
 
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_arm 1
-#include "../../../../includes/CodeGen.Platform.hs"
+#include "../../../includes/CodeGen.Platform.hs"
 
similarity index 52%
rename from compiler/codeGen/CodeGen/Platform/ARM64.hs
rename to compiler/GHC/Platform/ARM64.hs
index 6ace181..ebd66b9 100644 (file)
@@ -1,10 +1,10 @@
 {-# LANGUAGE CPP #-}
 
-module CodeGen.Platform.ARM64 where
+module GHC.Platform.ARM64 where
 
 import GhcPrelude
 
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_aarch64 1
-#include "../../../../includes/CodeGen.Platform.hs"
+#include "../../../includes/CodeGen.Platform.hs"
 
diff --git a/compiler/GHC/Platform/NoRegs.hs b/compiler/GHC/Platform/NoRegs.hs
new file mode 100644 (file)
index 0000000..e8abf44
--- /dev/null
@@ -0,0 +1,9 @@
+{-# LANGUAGE CPP #-}
+
+module GHC.Platform.NoRegs where
+
+import GhcPrelude
+
+#define MACHREGS_NO_REGS 1
+#include "../../../includes/CodeGen.Platform.hs"
+
similarity index 53%
rename from compiler/codeGen/CodeGen/Platform/PPC.hs
rename to compiler/GHC/Platform/PPC.hs
index f7eae6b..f405f95 100644 (file)
@@ -1,10 +1,10 @@
 {-# LANGUAGE CPP #-}
 
-module CodeGen.Platform.PPC where
+module GHC.Platform.PPC where
 
 import GhcPrelude
 
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_powerpc 1
-#include "../../../../includes/CodeGen.Platform.hs"
+#include "../../../includes/CodeGen.Platform.hs"
 
similarity index 88%
rename from compiler/codeGen/CodeGen/Platform.hs
rename to compiler/GHC/Platform/Regs.hs
index bc21675..e7887fb 100644 (file)
@@ -1,5 +1,5 @@
 
-module CodeGen.Platform
+module GHC.Platform.Regs
        (callerSaves, activeStgRegs, haveRegBase, globalRegMaybe, freeReg)
        where
 
@@ -9,13 +9,13 @@ import CmmExpr
 import GHC.Platform
 import Reg
 
-import qualified CodeGen.Platform.ARM        as ARM
-import qualified CodeGen.Platform.ARM64      as ARM64
-import qualified CodeGen.Platform.PPC        as PPC
-import qualified CodeGen.Platform.SPARC      as SPARC
-import qualified CodeGen.Platform.X86        as X86
-import qualified CodeGen.Platform.X86_64     as X86_64
-import qualified CodeGen.Platform.NoRegs     as NoRegs
+import qualified GHC.Platform.ARM        as ARM
+import qualified GHC.Platform.ARM64      as ARM64
+import qualified GHC.Platform.PPC        as PPC
+import qualified GHC.Platform.SPARC      as SPARC
+import qualified GHC.Platform.X86        as X86
+import qualified GHC.Platform.X86_64     as X86_64
+import qualified GHC.Platform.NoRegs     as NoRegs
 
 -- | Returns 'True' if this global register is stored in a caller-saves
 -- machine register.
similarity index 51%
rename from compiler/codeGen/CodeGen/Platform/SPARC.hs
rename to compiler/GHC/Platform/SPARC.hs
index 5d8dbb1..b0cdb27 100644 (file)
@@ -1,10 +1,10 @@
 {-# LANGUAGE CPP #-}
 
-module CodeGen.Platform.SPARC where
+module GHC.Platform.SPARC where
 
 import GhcPrelude
 
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_sparc 1
-#include "../../../../includes/CodeGen.Platform.hs"
+#include "../../../includes/CodeGen.Platform.hs"
 
similarity index 52%
rename from compiler/codeGen/CodeGen/Platform/X86.hs
rename to compiler/GHC/Platform/X86.hs
index 84d52c1..1570ba9 100644 (file)
@@ -1,10 +1,10 @@
 {-# LANGUAGE CPP #-}
 
-module CodeGen.Platform.X86 where
+module GHC.Platform.X86 where
 
 import GhcPrelude
 
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_i386 1
-#include "../../../../includes/CodeGen.Platform.hs"
+#include "../../../includes/CodeGen.Platform.hs"
 
similarity index 51%
rename from compiler/codeGen/CodeGen/Platform/X86_64.hs
rename to compiler/GHC/Platform/X86_64.hs
index 1b2b554..d2d1b15 100644 (file)
@@ -1,10 +1,10 @@
 {-# LANGUAGE CPP #-}
 
-module CodeGen.Platform.X86_64 where
+module GHC.Platform.X86_64 where
 
 import GhcPrelude
 
 #define MACHREGS_NO_REGS 0
 #define MACHREGS_x86_64 1
-#include "../../../../includes/CodeGen.Platform.hs"
+#include "../../../includes/CodeGen.Platform.hs"
 
similarity index 95%
rename from compiler/codeGen/StgCmm.hs
rename to compiler/GHC/StgToCmm.hs
index 83409b6..c7ee604 100644 (file)
@@ -9,22 +9,22 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmm ( codeGen ) where
+module GHC.StgToCmm ( codeGen ) where
 
 #include "HsVersions.h"
 
 import GhcPrelude as Prelude
 
-import StgCmmProf (initCostCentres, ldvEnter)
-import StgCmmMonad
-import StgCmmEnv
-import StgCmmBind
-import StgCmmCon
-import StgCmmLayout
-import StgCmmUtils
-import StgCmmClosure
-import StgCmmHpc
-import StgCmmTicky
+import GHC.StgToCmm.Prof (initCostCentres, ldvEnter)
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.Bind
+import GHC.StgToCmm.Con
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Hpc
+import GHC.StgToCmm.Ticky
 
 import Cmm
 import CmmUtils
similarity index 94%
rename from compiler/codeGen/StgCmmArgRep.hs
rename to compiler/GHC/StgToCmm/ArgRep.hs
index ef40fce..cc2fe83 100644 (file)
@@ -1,12 +1,12 @@
 -----------------------------------------------------------------------------
 --
--- Argument representations used in StgCmmLayout.
+-- Argument representations used in GHC.StgToCmm.Layout.
 --
 -- (c) The University of Glasgow 2013
 --
 -----------------------------------------------------------------------------
 
-module StgCmmArgRep (
+module GHC.StgToCmm.ArgRep (
         ArgRep(..), toArgRep, argRepSizeW,
 
         argRepString, isNonV, idArgRep,
@@ -17,7 +17,7 @@ module StgCmmArgRep (
 
 import GhcPrelude
 
-import StgCmmClosure    ( idPrimRep )
+import GHC.StgToCmm.Closure ( idPrimRep )
 
 import SMRep            ( WordOff )
 import Id               ( Id )
@@ -30,7 +30,7 @@ import Outputable
 import FastString
 
 -- I extricated this code as this new module in order to avoid a
--- cyclic dependency between StgCmmLayout and StgCmmTicky.
+-- cyclic dependency between GHC.StgToCmm.Layout and GHC.StgToCmm.Ticky.
 --
 -- NSF 18 Feb 2013
 
@@ -38,7 +38,7 @@ import FastString
 --      Classifying arguments: ArgRep
 -------------------------------------------------------------------------
 
--- ArgRep is re-exported by StgCmmLayout, but only for use in the
+-- ArgRep is re-exported by GHC.StgToCmm.Layout, but only for use in the
 -- byte-code generator which also needs to know about the
 -- classification of arguments.
 
@@ -108,7 +108,7 @@ idArgRep = toArgRep . idPrimRep
 -- This list of argument patterns should be kept in sync with at least
 -- the following:
 --
---  * StgCmmLayout.stdPattern maybe to some degree?
+--  * GHC.StgToCmm.Layout.stdPattern maybe to some degree?
 --
 --  * the RTS_RET(stg_ap_*) and RTS_FUN_DECL(stg_ap_*_fast)
 --  declarations in includes/stg/MiscClosures.h
similarity index 98%
rename from compiler/codeGen/StgCmmBind.hs
rename to compiler/GHC/StgToCmm/Bind.hs
index 7189800..bfe9255 100644 (file)
@@ -6,7 +6,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmBind (
+module GHC.StgToCmm.Bind (
         cgTopRhsClosure,
         cgBind,
         emitBlackHoleCode,
@@ -15,18 +15,18 @@ module StgCmmBind (
 
 import GhcPrelude hiding ((<*>))
 
-import StgCmmExpr
-import StgCmmMonad
-import StgCmmEnv
-import StgCmmCon
-import StgCmmHeap
-import StgCmmProf (ldvEnterClosure, enterCostCentreFun, enterCostCentreThunk,
+import GHC.StgToCmm.Expr
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.Con
+import GHC.StgToCmm.Heap
+import GHC.StgToCmm.Prof (ldvEnterClosure, enterCostCentreFun, enterCostCentreThunk,
                    initUpdFrameProf)
-import StgCmmTicky
-import StgCmmLayout
-import StgCmmUtils
-import StgCmmClosure
-import StgCmmForeign    (emitPrimCall)
+import GHC.StgToCmm.Ticky
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Foreign    (emitPrimCall)
 
 import MkGraph
 import CoreSyn          ( AltCon(..), tickishIsCode )
@@ -208,7 +208,7 @@ cgRhs id (StgRhsCon cc con args)
       -- con args are always non-void,
       -- see Note [Post-unarisation invariants] in UnariseStg
 
-{- See Note [GC recovery] in compiler/codeGen/StgCmmClosure.hs -}
+{- See Note [GC recovery] in compiler/GHC.StgToCmm/Closure.hs -}
 cgRhs id (StgRhsClosure fvs cc upd_flag args body)
   = do dflags <- getDynFlags
        mkRhsClosure dflags id cc (nonVoidIds (dVarSetElems fvs)) upd_flag args body
@@ -299,7 +299,7 @@ mkRhsClosure    dflags bndr _cc
                 []                      -- No args; a thunk
                 (StgApp fun_id args)
 
-  -- We are looking for an "ApThunk"; see data con ApThunk in StgCmmClosure
+  -- We are looking for an "ApThunk"; see data con ApThunk in GHC.StgToCmm.Closure
   -- of form (x1 x2 .... xn), where all the xi are locals (not top-level)
   -- So the xi will all be free variables
   | args `lengthIs` (n_fvs-1)  -- This happens only if the fun_id and
@@ -488,7 +488,7 @@ closureCodeBody top_lvl bndr cl_info cc args arity body fv_details
                 ; loop_header_id <- newBlockId
                 -- Extend reader monad with information that
                 -- self-recursive tail calls can be optimized into local
-                -- jumps. See Note [Self-recursive tail calls] in StgCmmExpr.
+                -- jumps. See Note [Self-recursive tail calls] in GHC.StgToCmm.Expr.
                 ; withSelfLoop (bndr, loop_header_id, arg_regs) $ do
                 {
                 -- Main payload
similarity index 50%
rename from compiler/codeGen/StgCmmBind.hs-boot
rename to compiler/GHC/StgToCmm/Bind.hs-boot
index 8e3dd38..d16c34e 100644 (file)
@@ -1,6 +1,6 @@
-module StgCmmBind where
+module GHC.StgToCmm.Bind where
 
-import StgCmmMonad( FCode )
+import GHC.StgToCmm.Monad( FCode )
 import StgSyn( CgStgBinding )
 
 cgBind :: CgStgBinding -> FCode ()
similarity index 99%
rename from compiler/codeGen/CgUtils.hs
rename to compiler/GHC/StgToCmm/CgUtils.hs
index 0ff9bd8..f3dccd9 100644 (file)
@@ -8,7 +8,7 @@
 --
 -----------------------------------------------------------------------------
 
-module CgUtils (
+module GHC.StgToCmm.CgUtils (
         fixStgRegisters,
         baseRegOffset,
         get_Regtable_addr_from_offset,
@@ -18,7 +18,7 @@ module CgUtils (
 
 import GhcPrelude
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import Cmm
 import Hoopl.Block
 import Hoopl.Graph
similarity index 99%
rename from compiler/codeGen/StgCmmClosure.hs
rename to compiler/GHC/StgToCmm/Closure.hs
index ac8db12..b56b06f 100644 (file)
@@ -11,7 +11,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmClosure (
+module GHC.StgToCmm.Closure (
         DynTag,  tagForCon, isSmallFamily,
 
         idPrimRep, isVoidRep, isGcPtrRep, addIdReps, addArgReps,
@@ -97,9 +97,9 @@ import qualified Data.ByteString.Char8 as BS8
 --                Data types and synonyms
 -----------------------------------------------------------------------------
 
--- These data types are mostly used by other modules, especially StgCmmMonad,
--- but we define them here because some functions in this module need to
--- have access to them as well
+-- These data types are mostly used by other modules, especially
+-- GHC.StgToCmm.Monad, but we define them here because some functions in this
+-- module need to have access to them as well
 
 data CgLoc
   = CmmLoc CmmExpr      -- A stable CmmExpr; that is, one not mentioning
@@ -566,7 +566,7 @@ getCallMethod dflags _ id _ n_args v_args _cg_loc
   --   * function is performing a self-recursive call in a tail position
   --   * number of non-void parameters of the function matches functions arity.
   -- See Note [Self-recursive tail calls] and Note [Void arguments in
-  -- self-recursive tail calls] in StgCmmExpr for more details
+  -- self-recursive tail calls] in GHC.StgToCmm.Expr for more details
   = JumpToIt block_id args
 
 getCallMethod dflags name id (LFReEntrant _ _ arity _ _) n_args _v_args _cg_loc
similarity index 96%
rename from compiler/codeGen/StgCmmCon.hs
rename to compiler/GHC/StgToCmm/Con.hs
index 67a9776..08508fb 100644 (file)
@@ -4,14 +4,14 @@
 --
 -- Stg to C--: code generation for constructors
 --
--- This module provides the support code for StgCmm to deal with with
+-- This module provides the support code for StgToCmm to deal with with
 -- constructors on the RHSs of let(rec)s.
 --
 -- (c) The University of Glasgow 2004-2006
 --
 -----------------------------------------------------------------------------
 
-module StgCmmCon (
+module GHC.StgToCmm.Con (
         cgTopRhsCon, buildDynCon, bindConArgs
     ) where
 
@@ -22,12 +22,12 @@ import GhcPrelude
 import StgSyn
 import CoreSyn  ( AltCon(..) )
 
-import StgCmmMonad
-import StgCmmEnv
-import StgCmmHeap
-import StgCmmLayout
-import StgCmmUtils
-import StgCmmClosure
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.Heap
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Closure
 
 import CmmExpr
 import CmmUtils
@@ -89,7 +89,7 @@ cgTopRhsCon dflags id con args =
                 amode <- getArgAmode arg
                 case amode of
                   CmmLit lit -> return lit
-                  _          -> panic "StgCmmCon.cgTopRhsCon"
+                  _          -> panic "GHC.StgToCmm.Con.cgTopRhsCon"
 
             nonptr_wds = tot_wds - ptr_wds
 
@@ -272,7 +272,7 @@ bindConArgs (DataAlt con) base args
            -- when accessing the constructor field.
            bind_arg :: (NonVoid Id, ByteOff) -> FCode (Maybe LocalReg)
            bind_arg (arg@(NonVoid b), offset)
-             | isDeadBinder b  -- See Note [Dead-binder optimisation] in StgCmmExpr
+             | isDeadBinder b  -- See Note [Dead-binder optimisation] in GHC.StgToCmm.Expr
              = return Nothing
              | otherwise
              = do { emit $ mkTaggedObjectLoad dflags (idToReg dflags arg)
similarity index 97%
rename from compiler/codeGen/StgCmmEnv.hs
rename to compiler/GHC/StgToCmm/Env.hs
index e605762..e32c6a1 100644 (file)
@@ -7,7 +7,7 @@
 -- (c) The University of Glasgow 2004-2006
 --
 -----------------------------------------------------------------------------
-module StgCmmEnv (
+module GHC.StgToCmm.Env (
         CgIdInfo,
 
         litIdInfo, lneIdInfo, rhsIdInfo, mkRhsInit,
@@ -27,9 +27,9 @@ module StgCmmEnv (
 import GhcPrelude
 
 import TyCon
-import StgCmmMonad
-import StgCmmUtils
-import StgCmmClosure
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Closure
 
 import CLabel
 
@@ -146,7 +146,7 @@ getCgIdInfo id
 cgLookupPanic :: Id -> FCode a
 cgLookupPanic id
   = do  local_binds <- getBinds
-        pprPanic "StgCmmEnv: variable not found"
+        pprPanic "GHC.StgToCmm.Env: variable not found"
                 (vcat [ppr id,
                 text "local binds for:",
                 pprUFM local_binds $ \infos ->
similarity index 97%
rename from compiler/codeGen/StgCmmExpr.hs
rename to compiler/GHC/StgToCmm/Expr.hs
index 70a044a..59cd246 100644 (file)
@@ -8,25 +8,25 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmExpr ( cgExpr ) where
+module GHC.StgToCmm.Expr ( cgExpr ) where
 
 #include "HsVersions.h"
 
 import GhcPrelude hiding ((<*>))
 
-import {-# SOURCE #-} StgCmmBind ( cgBind )
+import {-# SOURCE #-} GHC.StgToCmm.Bind ( cgBind )
 
-import StgCmmMonad
-import StgCmmHeap
-import StgCmmEnv
-import StgCmmCon
-import StgCmmProf (saveCurrentCostCentre, restoreCurrentCostCentre, emitSetCCC)
-import StgCmmLayout
-import StgCmmPrim
-import StgCmmHpc
-import StgCmmTicky
-import StgCmmUtils
-import StgCmmClosure
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Heap
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.Con
+import GHC.StgToCmm.Prof (saveCurrentCostCentre, restoreCurrentCostCentre, emitSetCCC)
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Prim
+import GHC.StgToCmm.Hpc
+import GHC.StgToCmm.Ticky
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Closure
 
 import StgSyn
 
@@ -552,9 +552,9 @@ check will reset the heap usage. Slop in the heap breaks LDV profiling
 
 Note [Inlining out-of-line primops and heap checks]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If shouldInlinePrimOp returns True when called from StgCmmExpr for the
+If shouldInlinePrimOp returns True when called from GHC.StgToCmm.Expr for the
 purpose of heap check placement, we *must* inline the primop later in
-StgCmmPrim. If we don't things will go wrong.
+GHC.StgToCmm.Prim. If we don't things will go wrong.
 -}
 
 -----------------
@@ -851,18 +851,18 @@ cgIdApp fun_id args = do
 --
 --   * Whenever we are compiling a function, we set that information to reflect
 --     the fact that function currently being compiled can be jumped to, instead
---     of called. This is done in closureCodyBody in StgCmmBind.
+--     of called. This is done in closureCodyBody in GHC.StgToCmm.Bind.
 --
 --   * We also have to emit a label to which we will be jumping. We make sure
 --     that the label is placed after a stack check but before the heap
 --     check. The reason is that making a recursive tail-call does not increase
 --     the stack so we only need to check once. But it may grow the heap, so we
 --     have to repeat the heap check in every self-call. This is done in
---     do_checks in StgCmmHeap.
+--     do_checks in GHC.StgToCmm.Heap.
 --
 --   * When we begin compilation of another closure we remove the additional
 --     information from the environment. This is done by forkClosureBody
---     in StgCmmMonad. Other functions that duplicate the environment -
+--     in GHC.StgToCmm.Monad. Other functions that duplicate the environment -
 --     forkLneBody, forkAlts, codeOnly - duplicate that information. In other
 --     words, we only need to clean the environment of the self-loop information
 --     when compiling right hand side of a closure (binding).
similarity index 98%
rename from compiler/codeGen/StgCmmExtCode.hs
rename to compiler/GHC/StgToCmm/ExtCode.hs
index 1d35c34..be2592e 100644 (file)
@@ -10,7 +10,7 @@
 -- to collect declarations as we parse the proc, and feed the environment
 -- back in circularly (to avoid a two-pass algorithm).
 
-module StgCmmExtCode (
+module GHC.StgToCmm.ExtCode (
         CmmParse, unEC,
         Named(..), Env,
 
@@ -39,8 +39,8 @@ where
 
 import GhcPrelude
 
-import qualified StgCmmMonad as F
-import StgCmmMonad (FCode, newUnique)
+import qualified GHC.StgToCmm.Monad as F
+import GHC.StgToCmm.Monad (FCode, newUnique)
 
 import Cmm
 import CLabel
similarity index 99%
rename from compiler/codeGen/StgCmmForeign.hs
rename to compiler/GHC/StgToCmm/Foreign.hs
index 172dcba..dacaff4 100644 (file)
@@ -6,7 +6,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmForeign (
+module GHC.StgToCmm.Foreign (
   cgForeignCall,
   emitPrimCall, emitCCall,
   emitForeignCall,     -- For CmmParse
@@ -21,12 +21,12 @@ module StgCmmForeign (
 import GhcPrelude hiding( succ, (<*>) )
 
 import StgSyn
-import StgCmmProf (storeCurCCS, ccsType)
-import StgCmmEnv
-import StgCmmMonad
-import StgCmmUtils
-import StgCmmClosure
-import StgCmmLayout
+import GHC.StgToCmm.Prof (storeCurCCS, ccsType)
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Layout
 
 import BlockId (newBlockId)
 import Cmm
similarity index 98%
rename from compiler/codeGen/StgCmmHeap.hs
rename to compiler/GHC/StgToCmm/Heap.hs
index da9e85f..a1f016c 100644 (file)
@@ -6,7 +6,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmHeap (
+module GHC.StgToCmm.Heap (
         getVirtHp, setVirtHp, setRealHp,
         getHpRelOffset,
 
@@ -24,13 +24,13 @@ import GhcPrelude hiding ((<*>))
 
 import StgSyn
 import CLabel
-import StgCmmLayout
-import StgCmmUtils
-import StgCmmMonad
-import StgCmmProf (profDynAlloc, dynProfHdr, staticProfHdr)
-import StgCmmTicky
-import StgCmmClosure
-import StgCmmEnv
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Prof (profDynAlloc, dynProfHdr, staticProfHdr)
+import GHC.StgToCmm.Ticky
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Env
 
 import MkGraph
 
@@ -659,7 +659,7 @@ do_checks mb_stk_hwm checkYield mb_alloc_lit do_gc = do
 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 --
 -- Self-recursive loop header is required by loopification optimization (See
--- Note [Self-recursive tail calls] in StgCmmExpr). We emit it if:
+-- Note [Self-recursive tail calls] in GHC.StgToCmm.Expr). We emit it if:
 --
 --  1. There is information about self-loop in the FCode environment. We don't
 --     check the binder (first component of the self_loop_info) because we are
similarity index 92%
rename from compiler/codeGen/StgCmmHpc.hs
rename to compiler/GHC/StgToCmm/Hpc.hs
index 8e9676b..e33d392 100644 (file)
@@ -6,18 +6,18 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmHpc ( initHpc, mkTickBox ) where
+module GHC.StgToCmm.Hpc ( initHpc, mkTickBox ) where
 
 import GhcPrelude
 
-import StgCmmMonad
+import GHC.StgToCmm.Monad
 
 import MkGraph
 import CmmExpr
 import CLabel
 import Module
 import CmmUtils
-import StgCmmUtils
+import GHC.StgToCmm.Utils
 import HscTypes
 import DynFlags
 
similarity index 98%
rename from compiler/codeGen/StgCmmLayout.hs
rename to compiler/GHC/StgToCmm/Layout.hs
index 78a7cf3..f483437 100644 (file)
@@ -9,7 +9,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmLayout (
+module GHC.StgToCmm.Layout (
         mkArgDescr,
         emitCall, emitReturn, adjustHpBackwards,
 
@@ -26,7 +26,7 @@ module StgCmmLayout (
         mkVirtConstrSizes,
         getHpRelOffset,
 
-        ArgRep(..), toArgRep, argRepSizeW -- re-exported from StgCmmArgRep
+        ArgRep(..), toArgRep, argRepSizeW -- re-exported from GHC.StgToCmm.ArgRep
   ) where
 
 
@@ -34,12 +34,12 @@ module StgCmmLayout (
 
 import GhcPrelude hiding ((<*>))
 
-import StgCmmClosure
-import StgCmmEnv
-import StgCmmArgRep -- notably: ( slowCallPattern )
-import StgCmmTicky
-import StgCmmMonad
-import StgCmmUtils
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.ArgRep -- notably: ( slowCallPattern )
+import GHC.StgToCmm.Ticky
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Utils
 
 import MkGraph
 import SMRep
@@ -387,7 +387,7 @@ hpRel :: VirtualHpOffset         -- virtual offset of Hp
 hpRel hp off = off - hp
 
 getHpRelOffset :: VirtualHpOffset -> FCode CmmExpr
--- See Note [Virtual and real heap pointers] in StgCmmMonad
+-- See Note [Virtual and real heap pointers] in GHC.StgToCmm.Monad
 getHpRelOffset virtual_offset
   = do dflags <- getDynFlags
        hp_usg <- getHpUsage
similarity index 99%
rename from compiler/codeGen/StgCmmMonad.hs
rename to compiler/GHC/StgToCmm/Monad.hs
index d6f84c6..716cbda 100644 (file)
@@ -9,7 +9,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmMonad (
+module GHC.StgToCmm.Monad (
         FCode,        -- type
 
         initC, runC, fixC,
@@ -62,7 +62,7 @@ module StgCmmMonad (
 import GhcPrelude hiding( sequence, succ )
 
 import Cmm
-import StgCmmClosure
+import GHC.StgToCmm.Closure
 import DynFlags
 import Hoopl.Collections
 import MkGraph
@@ -164,7 +164,7 @@ data CgInfoDownwards        -- information only passed *downwards* by the monad
         cgd_self_loop :: Maybe SelfLoopInfo,-- Which tail calls can be compiled
                                             -- as local jumps? See Note
                                             -- [Self-recursive tail calls] in
-                                            -- StgCmmExpr
+                                            -- GHC.StgToCmm.Expr
         cgd_tick_scope:: CmmTickScope       -- Tick scope for new blocks & ticks
   }
 
similarity index 99%
rename from compiler/codeGen/StgCmmPrim.hs
rename to compiler/GHC/StgToCmm/Prim.hs
index 61d88fe..dc69a51 100644 (file)
@@ -10,7 +10,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmPrim (
+module GHC.StgToCmm.Prim (
    cgOpApp,
    cgPrimOp, -- internal(ish), used by cgCase to get code for a
              -- comparison without also turning it into a Bool.
@@ -21,14 +21,14 @@ module StgCmmPrim (
 
 import GhcPrelude hiding ((<*>))
 
-import StgCmmLayout
-import StgCmmForeign
-import StgCmmEnv
-import StgCmmMonad
-import StgCmmUtils
-import StgCmmTicky
-import StgCmmHeap
-import StgCmmProf ( costCentreFrom )
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Foreign
+import GHC.StgToCmm.Env
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Ticky
+import GHC.StgToCmm.Heap
+import GHC.StgToCmm.Prof ( costCentreFrom )
 
 import DynFlags
 import GHC.Platform
@@ -1578,7 +1578,7 @@ doIndexOffAddrOp :: Maybe MachOp
 doIndexOffAddrOp maybe_post_read_cast rep [res] [addr,idx]
    = mkBasicIndexedRead 0 maybe_post_read_cast rep res addr rep idx
 doIndexOffAddrOp _ _ _ _
-   = panic "StgCmmPrim: doIndexOffAddrOp"
+   = panic "GHC.StgToCmm.Prim: doIndexOffAddrOp"
 
 doIndexOffAddrOpAs :: Maybe MachOp
                    -> CmmType
@@ -1589,7 +1589,7 @@ doIndexOffAddrOpAs :: Maybe MachOp
 doIndexOffAddrOpAs maybe_post_read_cast rep idx_rep [res] [addr,idx]
    = mkBasicIndexedRead 0 maybe_post_read_cast rep res addr idx_rep idx
 doIndexOffAddrOpAs _ _ _ _ _
-   = panic "StgCmmPrim: doIndexOffAddrOpAs"
+   = panic "GHC.StgToCmm.Prim: doIndexOffAddrOpAs"
 
 doIndexByteArrayOp :: Maybe MachOp
                    -> CmmType
@@ -1600,7 +1600,7 @@ doIndexByteArrayOp maybe_post_read_cast rep [res] [addr,idx]
    = do dflags <- getDynFlags
         mkBasicIndexedRead (arrWordsHdrSize dflags) maybe_post_read_cast rep res addr rep idx
 doIndexByteArrayOp _ _ _ _
-   = panic "StgCmmPrim: doIndexByteArrayOp"
+   = panic "GHC.StgToCmm.Prim: doIndexByteArrayOp"
 
 doIndexByteArrayOpAs :: Maybe MachOp
                     -> CmmType
@@ -1612,7 +1612,7 @@ doIndexByteArrayOpAs maybe_post_read_cast rep idx_rep [res] [addr,idx]
    = do dflags <- getDynFlags
         mkBasicIndexedRead (arrWordsHdrSize dflags) maybe_post_read_cast rep res addr idx_rep idx
 doIndexByteArrayOpAs _ _ _ _ _
-   = panic "StgCmmPrim: doIndexByteArrayOpAs"
+   = panic "GHC.StgToCmm.Prim: doIndexByteArrayOpAs"
 
 doReadPtrArrayOp :: LocalReg
                  -> CmmExpr
@@ -1630,7 +1630,7 @@ doWriteOffAddrOp :: Maybe MachOp
 doWriteOffAddrOp maybe_pre_write_cast idx_ty [] [addr,idx,val]
    = mkBasicIndexedWrite 0 maybe_pre_write_cast addr idx_ty idx val
 doWriteOffAddrOp _ _ _ _
-   = panic "StgCmmPrim: doWriteOffAddrOp"
+   = panic "GHC.StgToCmm.Prim: doWriteOffAddrOp"
 
 doWriteByteArrayOp :: Maybe MachOp
                    -> CmmType
@@ -1641,7 +1641,7 @@ doWriteByteArrayOp maybe_pre_write_cast idx_ty [] [addr,idx,val]
    = do dflags <- getDynFlags
         mkBasicIndexedWrite (arrWordsHdrSize dflags) maybe_pre_write_cast addr idx_ty idx val
 doWriteByteArrayOp _ _ _ _
-   = panic "StgCmmPrim: doWriteByteArrayOp"
+   = panic "GHC.StgToCmm.Prim: doWriteByteArrayOp"
 
 doWritePtrArrayOp :: CmmExpr
                   -> CmmExpr
@@ -1932,7 +1932,7 @@ doPrefetchByteArrayOp locality  [addr,idx]
    = do dflags <- getDynFlags
         mkBasicPrefetch locality (arrWordsHdrSize dflags)  addr idx
 doPrefetchByteArrayOp _ _
-   = panic "StgCmmPrim: doPrefetchByteArrayOp"
+   = panic "GHC.StgToCmm.Prim: doPrefetchByteArrayOp"
 
 -- | Translate mutable byte array prefetch operations into proper primcalls.
 doPrefetchMutableByteArrayOp :: Int
@@ -1942,7 +1942,7 @@ doPrefetchMutableByteArrayOp locality  [addr,idx]
    = do dflags <- getDynFlags
         mkBasicPrefetch locality (arrWordsHdrSize dflags)  addr idx
 doPrefetchMutableByteArrayOp _ _
-   = panic "StgCmmPrim: doPrefetchByteArrayOp"
+   = panic "GHC.StgToCmm.Prim: doPrefetchByteArrayOp"
 
 -- | Translate address prefetch operations into proper primcalls.
 doPrefetchAddrOp ::Int
@@ -1951,7 +1951,7 @@ doPrefetchAddrOp ::Int
 doPrefetchAddrOp locality   [addr,idx]
    = mkBasicPrefetch locality 0  addr idx
 doPrefetchAddrOp _ _
-   = panic "StgCmmPrim: doPrefetchAddrOp"
+   = panic "GHC.StgToCmm.Prim: doPrefetchAddrOp"
 
 -- | Translate value prefetch operations into proper primcalls.
 doPrefetchValueOp :: Int
@@ -1961,7 +1961,7 @@ doPrefetchValueOp  locality   [addr]
   =  do dflags <- getDynFlags
         mkBasicPrefetch locality 0 addr  (CmmLit (CmmInt 0 (wordWidth dflags)))
 doPrefetchValueOp _ _
-  = panic "StgCmmPrim: doPrefetchValueOp"
+  = panic "GHC.StgToCmm.Prim: doPrefetchValueOp"
 
 -- | helper to generate prefetch primcalls
 mkBasicPrefetch :: Int          -- Locality level 0-3
similarity index 99%
rename from compiler/codeGen/StgCmmProf.hs
rename to compiler/GHC/StgToCmm/Prof.hs
index 172b77c..ce8ef61 100644 (file)
@@ -6,7 +6,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmProf (
+module GHC.StgToCmm.Prof (
         initCostCentres, ccType, ccsType,
         mkCCostCentre, mkCCostCentreStack,
 
@@ -25,9 +25,9 @@ module StgCmmProf (
 
 import GhcPrelude
 
-import StgCmmClosure
-import StgCmmUtils
-import StgCmmMonad
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Monad
 import SMRep
 
 import MkGraph
similarity index 98%
rename from compiler/codeGen/StgCmmTicky.hs
rename to compiler/GHC/StgToCmm/Ticky.hs
index 868b52f..06ef520 100644 (file)
@@ -65,7 +65,7 @@ the code generator as well as the RTS because:
 
 -}
 
-module StgCmmTicky (
+module GHC.StgToCmm.Ticky (
   withNewTickyCounterFun,
   withNewTickyCounterLNE,
   withNewTickyCounterThunk,
@@ -106,10 +106,10 @@ module StgCmmTicky (
 
 import GhcPrelude
 
-import StgCmmArgRep    ( slowCallPattern , toArgRep , argRepString )
-import StgCmmClosure
-import StgCmmUtils
-import StgCmmMonad
+import GHC.StgToCmm.ArgRep    ( slowCallPattern , toArgRep , argRepString )
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Monad
 
 import StgSyn
 import CmmExpr
@@ -433,7 +433,7 @@ calls.
 
 Nowadays, though (ie as of the eval/apply paper), the significantly
 slower calls are actually just a subset of these: the ones with no
-built-in argument pattern (cf StgCmmArgRep.slowCallPattern)
+built-in argument pattern (cf GHC.StgToCmm.ArgRep.slowCallPattern)
 
 So for ticky profiling, we split slow calls into
 "SLOW_CALL_fast_<pattern>_ctr" (those matching a built-in pattern) and
@@ -486,7 +486,7 @@ tickyDynAlloc mb_id rep lf = ifTicky $ getDynFlags >>= \dflags ->
 
 tickyAllocHeap ::
   Bool -> -- is this a genuine allocation? As opposed to
-          -- StgCmmLayout.adjustHpBackwards
+          -- GHC.StgToCmm.Layout.adjustHpBackwards
   VirtualHpOffset -> FCode ()
 -- Called when doing a heap check [TICK_ALLOC_HEAP]
 -- Must be lazy in the amount of allocation!
@@ -497,7 +497,7 @@ tickyAllocHeap genuine hp
         ; emit $ catAGraphs $
             -- only test hp from within the emit so that the monadic
             -- computation itself is not strict in hp (cf knot in
-            -- StgCmmMonad.getHeapUsage)
+            -- GHC.StgToCmm.Monad.getHeapUsage)
           if hp == 0 then []
           else let !bytes = wORD_SIZE dflags * hp in [
             -- Bump the allocation total in the closure's StgEntCounter
similarity index 99%
rename from compiler/codeGen/StgCmmUtils.hs
rename to compiler/GHC/StgToCmm/Utils.hs
index 766584e..30e37bb 100644 (file)
@@ -8,7 +8,7 @@
 --
 -----------------------------------------------------------------------------
 
-module StgCmmUtils (
+module GHC.StgToCmm.Utils (
         cgLit, mkSimpleLit,
         emitDataLits, mkDataLits,
         emitRODataLits, mkRODataLits,
@@ -45,16 +45,16 @@ module StgCmmUtils (
 
 import GhcPrelude
 
-import StgCmmMonad
-import StgCmmClosure
+import GHC.StgToCmm.Monad
+import GHC.StgToCmm.Closure
 import Cmm
 import BlockId
 import MkGraph
-import CodeGen.Platform
+import GHC.Platform.Regs
 import CLabel
 import CmmUtils
 import CmmSwitch
-import CgUtils
+import GHC.StgToCmm.CgUtils
 
 import ForeignCall
 import IdInfo
index 60fe874..3a6c0af 100644 (file)
@@ -120,8 +120,8 @@ data CmmStackInfo
    = StackInfo {
        arg_space :: ByteOff,
                -- number of bytes of arguments on the stack on entry to the
-               -- the proc.  This is filled in by StgCmm.codeGen, and used
-               -- by the stack allocator later.
+               -- the proc.  This is filled in by GHC.StgToCmm.codeGen, and
+               -- used by the stack allocator later.
        updfr_space :: Maybe ByteOff,
                -- XXX: this never contains anything useful, but it should.
                -- See comment in CmmLayoutStack.
index bde52de..9dc66a4 100644 (file)
@@ -27,7 +27,7 @@ import Outputable
 import SMRep
 import UniqSupply
 import CostCentre
-import StgCmmHeap
+import GHC.StgToCmm.Heap
 
 import Control.Monad
 import Data.Map (Map)
index 901df5d..860ee1a 100644 (file)
@@ -598,7 +598,7 @@ globalRegType _      (DoubleReg _)     = cmmFloat W64
 globalRegType _      (LongReg _)       = cmmBits W64
 -- TODO: improve the internal model of SIMD/vectorized registers
 -- the right design SHOULd improve handling of float and double code too.
--- see remarks in "NOTE [SIMD Design for the future]"" in StgCmmPrim
+-- see remarks in "NOTE [SIMD Design for the future]"" in GHC.StgToCmm.Prim
 globalRegType _      (XmmReg _)        = cmmVec 4 (cmmBits W32)
 globalRegType _      (YmmReg _)        = cmmVec 8 (cmmBits W32)
 globalRegType _      (ZmmReg _)        = cmmVec 16 (cmmBits W32)
index 3b3f49e..e26f287 100644 (file)
@@ -5,8 +5,8 @@ module CmmLayoutStack (
 
 import GhcPrelude hiding ((<*>))
 
-import StgCmmUtils      ( callerSaveVolatileRegs ) -- XXX layering violation
-import StgCmmForeign    ( saveThreadState, loadThreadState ) -- XXX layering violation
+import GHC.StgToCmm.Utils      ( callerSaveVolatileRegs, newTemp  ) -- XXX layering violation
+import GHC.StgToCmm.Foreign    ( saveThreadState, loadThreadState ) -- XXX layering violation
 
 import BasicTypes
 import Cmm
@@ -25,7 +25,6 @@ import Hoopl.Dataflow
 import Hoopl.Graph
 import Hoopl.Label
 import UniqSupply
-import StgCmmUtils      ( newTemp )
 import Maybes
 import UniqFM
 import Util
@@ -918,7 +917,7 @@ areaToSp dflags sp_old _sp_hwm area_off (CmmStackSlot area n)
 areaToSp dflags _ sp_hwm _ (CmmLit CmmHighStackMark)
   = mkIntExpr dflags sp_hwm
     -- Replace CmmHighStackMark with the number of bytes of stack used,
-    -- the sp_hwm.   See Note [Stack usage] in StgCmmHeap
+    -- the sp_hwm.   See Note [Stack usage] in GHC.StgToCmm.Heap
 
 areaToSp dflags _ _ _ (CmmMachOp (MO_U_Lt _) args)
   | falseStackCheck args
index 988610f..9d6fa7f 100644 (file)
@@ -26,7 +26,7 @@ module CmmNode (
 
 import GhcPrelude hiding (succ)
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import CmmExpr
 import CmmSwitch
 import DynFlags
@@ -90,7 +90,7 @@ data CmmNode e x where
       -- See Note [Unsafe foreign calls clobber caller-save registers]
       --
       -- Invariant: the arguments and the ForeignTarget must not
-      -- mention any registers for which CodeGen.Platform.callerSaves
+      -- mention any registers for which GHC.Platform.callerSaves
       -- is True.  See Note [Register Parameter Passing].
 
   CmmBranch :: ULabel -> CmmNode O C
@@ -199,7 +199,7 @@ sequence.
 
 A foreign call is defined to clobber any GlobalRegs that are mapped to
 caller-saves machine registers (according to the prevailing C ABI).
-StgCmmUtils.callerSaves tells you which GlobalRegs are caller-saves.
+GHC.StgToCmm.Utils.callerSaves tells you which GlobalRegs are caller-saves.
 
 This is a design choice that makes it easier to generate code later.
 We could instead choose to say that foreign calls do *not* clobber
@@ -221,7 +221,7 @@ convention, rdi, rsi, rdx and rcx (as well as r8 and r9) may be used for
 argument passing.  These are registers R3-R6, which our generated
 code may also be using; as a result, it's necessary to save these
 values before doing a foreign call.  This is done during initial
-code generation in callerSaveVolatileRegs in StgCmmUtils.hs.  However,
+code generation in callerSaveVolatileRegs in GHC.StgToCmm.Utils.  However,
 one result of doing this is that the contents of these registers
 may mysteriously change if referenced inside the arguments.  This
 is dangerous, so you'll need to disable inlining much in the same
index f563145..319286b 100644 (file)
@@ -204,21 +204,21 @@ module CmmParse ( parseCmmFile ) where
 
 import GhcPrelude
 
-import StgCmmExtCode
+import GHC.StgToCmm.ExtCode
 import CmmCallConv
-import StgCmmProf
-import StgCmmHeap
-import StgCmmMonad hiding ( getCode, getCodeR, getCodeScoped, emitLabel, emit, emitStore
-                          , emitAssign, emitOutOfLine, withUpdFrameOff
-                          , getUpdFrameOff )
-import qualified StgCmmMonad as F
-import StgCmmUtils
-import StgCmmForeign
-import StgCmmExpr
-import StgCmmClosure
-import StgCmmLayout     hiding (ArgRep(..))
-import StgCmmTicky
-import StgCmmBind       ( emitBlackHoleCode, emitUpdateFrame )
+import GHC.StgToCmm.Prof
+import GHC.StgToCmm.Heap
+import GHC.StgToCmm.Monad hiding ( getCode, getCodeR, getCodeScoped, emitLabel, emit
+                               , emitStore, emitAssign, emitOutOfLine, withUpdFrameOff
+                               , getUpdFrameOff )
+import qualified GHC.StgToCmm.Monad as F
+import GHC.StgToCmm.Utils
+import GHC.StgToCmm.Foreign
+import GHC.StgToCmm.Expr
+import GHC.StgToCmm.Closure
+import GHC.StgToCmm.Layout     hiding (ArgRep(..))
+import GHC.StgToCmm.Ticky
+import GHC.StgToCmm.Bind  ( emitBlackHoleCode, emitUpdateFrame )
 import CoreSyn          ( Tickish(SourceNote) )
 
 import CmmOpt
index 8a6b120..7d945b0 100644 (file)
@@ -13,7 +13,7 @@ import Hoopl.Block
 import Hoopl.Label
 import Hoopl.Collections
 import Hoopl.Graph
-import CodeGen.Platform
+import GHC.Platform.Regs
 import GHC.Platform (isARM, platformArch)
 
 import DynFlags
@@ -565,7 +565,7 @@ regsUsedIn ls e = wrapRecExpf f e False
 -- clashing with C argument-passing registers, really the back-end
 -- ought to be able to handle it properly, but currently neither PprC
 -- nor the NCG can do it.  See Note [Register parameter passing]
--- See also StgCmmForeign:load_args_into_temps.
+-- See also GHC.StgToCmm.Foreign.load_args_into_temps.
 okToInline :: DynFlags -> CmmExpr -> CmmNode e x -> Bool
 okToInline dflags expr node@(CmmUnsafeForeignCall{}) =
     not (globalRegistersConflict dflags expr node)
index ce77946..c2ce3b9 100644 (file)
@@ -32,7 +32,7 @@ import qualified Data.Map as M
 --
 -- The overall plan is:
 --  * The Stg → Cmm transformation creates a single `SwitchTargets` in
---    emitSwitch and emitCmmLitSwitch in StgCmmUtils.hs.
+--    emitSwitch and emitCmmLitSwitch in GHC.StgToCmm/Utils.hs.
 --    At this stage, they are unsuitable for code generation.
 --  * A dedicated Cmm transformation (CmmImplementSwitchPlans) replaces these
 --    switch statements with code that is suitable for code generation, i.e.
index 3381fbf..1a28f94 100644 (file)
@@ -80,7 +80,7 @@ import CLabel
 import Outputable
 import DynFlags
 import Unique
-import CodeGen.Platform
+import GHC.Platform.Regs
 
 import Data.ByteString (ByteString)
 import qualified Data.ByteString as BS
index c874e81..712dd4b 100644 (file)
@@ -365,7 +365,7 @@ The remaining blocks are simple,
 
 The flow of unwinding information through the compiler is a bit convoluted:
 
- * C-- begins life in StgCmm without any unwind information. This is because we
+ * C-- begins life in StgToCmm without any unwind information. This is because we
    haven't actually done any register assignment or stack layout yet, so there
    is no need for unwind information.
 
index e2fb819..600a62a 100644 (file)
@@ -90,106 +90,6 @@ Things to do:
         (guided by the procpoint set)\r
 \r
 ----------------------------------------------------\r
-       Modules in codeGen/\r
-----------------------------------------------------\r
-\r
-\r
-------- Shared ---------\r
-Bitmap.hs\r
-SMRep.lhs\r
-\r
-CmmParse.y\r
-CgExtCode.hs   used in CmmParse.y\r
-\r
-------- New codegen ---------\r
-\r
-StgCmm.hs\r
-StgCmmBind.hs\r
-StgCmmClosure.hs     (corresponds to old ClosureInfo)\r
-StgCmmCon.hs\r
-StgCmmEnv.hs\r
-StgCmmExpr.hs\r
-StgCmmForeign.hs\r
-StgCmmHeap.hs\r
-StgCmmHpc.hs\r
-StgCmmLayout.hs\r
-StgCmmMonad.hs\r
-StgCmmPrim.hs\r
-StgCmmProf.hs\r
-StgCmmTicky.hs\r
-StgCmmUtils.hs\r
-\r
-------- Old codegen (moribund) ---------\r
-CodeGen.lhs\r
-CgBindery.lhs\r
-CgCallConv.hs\r
-CgCase.lhs\r
-CgClosure.lhs\r
-CgCon.lhs\r
-CgExpr.lhs\r
-CgLetNoEscape.lhs\r
-CgForeignCall.hs\r
-CgHeapery.lhs\r
-CgHpc.hs\r
-CgInfoTbls.hs\r
-CgMonad.lhs\r
-CgParallel.hs\r
-CgPrimOp.hs\r
-CgProf.hs\r
-CgStackery.lhs\r
-CgTailCall.lhs\r
-CgTicky.hs\r
-CgUtils.hs\r
-ClosureInfo.lhs\r
-\r
-----------------------------------------------------\r
-       Modules in cmm/\r
-----------------------------------------------------\r
-\r
--------- Moribund stuff ------------\r
-OldCmm.hs      Definition of flowgraph of old representation\r
-               Imports some data types from (new) Cmm\r
-OldCmmUtil.hs  Utilites that operates mostly on on CmmStmt\r
-OldPprCmm.hs   Pretty print for CmmStmt, GenBasicBlock and ListGraph\r
-CmmOpt.hs      Hopefully-redundant optimiser\r
-\r
--------- Stuff to keep ------------\r
-CmmPipeline.hs            Driver for new pipeline\r
-\r
-CmmLive.hs                Liveness analysis, dead code elim\r
-CmmProcPoint.hs           Identifying and splitting out proc-points\r
-\r
-CmmSpillReload.hs         Save and restore across calls\r
-\r
-CmmCommonBlockElim.hs     Common block elim\r
-CmmContFlowOpt.hs         Other optimisations (branch-chain, merging)\r
-\r
-CmmBuildInfoTables.hs     New info-table \r
-CmmStackLayout.hs         and stack layout \r
-CmmCallConv.hs\r
-CmmInfo.hs                Defn of InfoTables, and conversion to exact byte layout\r
-\r
----------- Cmm data types --------------\r
-Cmm.hs              Cmm instantiations of dataflow graph framework\r
-  CmmExpr.hs        Type of Cmm expression\r
-  CmmType.hs        Type of Cmm types and their widths\r
-  CmmMachOp.hs      MachOp type and accompanying utilities\r
-\r
-PprCmm.hs          Pretty printer for Cmm\r
-  PprCmmExpr.hs     Pretty printer for CmmExpr\r
-\r
-MkGraph.hs          Interface for building Cmm for codeGen/Stg*.hs modules\r
-\r
-CmmUtils.hs\r
-CmmLint.hs\r
-\r
-PprC.hs                    Pretty print Cmm in C syntax\r
-\r
-CLabel.hs           CLabel\r
-BlockId.hs          BlockId, BlockEnv, BlockSet\r
-\r
-\r
-----------------------------------------------------\r
        Proc-points\r
 ----------------------------------------------------\r
 \r
diff --git a/compiler/codeGen/CodeGen/Platform/NoRegs.hs b/compiler/codeGen/CodeGen/Platform/NoRegs.hs
deleted file mode 100644 (file)
index 4c074ee..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-{-# LANGUAGE CPP #-}
-
-module CodeGen.Platform.NoRegs where
-
-import GhcPrelude
-
-#define MACHREGS_NO_REGS 1
-#include "../../../../includes/CodeGen.Platform.hs"
-
index 479871c..cf1d127 100644 (file)
@@ -170,10 +170,10 @@ Library
         cbits/genSym.c
 
     hs-source-dirs:
+        .
         backpack
         basicTypes
         cmm
-        codeGen
         coreSyn
         deSugar
         ghci
@@ -291,32 +291,32 @@ Library
         PprCmmDecl
         PprCmmExpr
         Bitmap
-        CodeGen.Platform
-        CodeGen.Platform.ARM
-        CodeGen.Platform.ARM64
-        CodeGen.Platform.NoRegs
-        CodeGen.Platform.PPC
-        CodeGen.Platform.SPARC
-        CodeGen.Platform.X86
-        CodeGen.Platform.X86_64
-        CgUtils
-        StgCmm
-        StgCmmBind
-        StgCmmClosure
-        StgCmmCon
-        StgCmmEnv
-        StgCmmExpr
-        StgCmmForeign
-        StgCmmHeap
-        StgCmmHpc
-        StgCmmArgRep
-        StgCmmLayout
-        StgCmmMonad
-        StgCmmPrim
-        StgCmmProf
-        StgCmmTicky
-        StgCmmUtils
-        StgCmmExtCode
+        GHC.Platform.Regs
+        GHC.Platform.ARM
+        GHC.Platform.ARM64
+        GHC.Platform.NoRegs
+        GHC.Platform.PPC
+        GHC.Platform.SPARC
+        GHC.Platform.X86
+        GHC.Platform.X86_64
+        GHC.StgToCmm.CgUtils
+        GHC.StgToCmm
+        GHC.StgToCmm.Bind
+        GHC.StgToCmm.Closure
+        GHC.StgToCmm.Con
+        GHC.StgToCmm.Env
+        GHC.StgToCmm.Expr
+        GHC.StgToCmm.Foreign
+        GHC.StgToCmm.Heap
+        GHC.StgToCmm.Hpc
+        GHC.StgToCmm.ArgRep
+        GHC.StgToCmm.Layout
+        GHC.StgToCmm.Monad
+        GHC.StgToCmm.Prim
+        GHC.StgToCmm.Prof
+        GHC.StgToCmm.Ticky
+        GHC.StgToCmm.Utils
+        GHC.StgToCmm.ExtCode
         SMRep
         CoreArity
         CoreFVs
index 1b5c5b6..82de143 100644 (file)
@@ -29,7 +29,7 @@ import NameSet
 import Literal
 import TyCon
 import FastString
-import StgCmmLayout     ( ArgRep(..) )
+import GHC.StgToCmm.Layout     ( ArgRep(..) )
 import SMRep
 import DynFlags
 import Outputable
index ac7a5de..2865aae 100644 (file)
@@ -48,8 +48,8 @@ import ErrUtils
 import Unique
 import FastString
 import Panic
-import StgCmmClosure    ( NonVoid(..), fromNonVoid, nonVoidIds )
-import StgCmmLayout
+import GHC.StgToCmm.Closure    ( NonVoid(..), fromNonVoid, nonVoidIds )
+import GHC.StgToCmm.Layout
 import SMRep hiding (WordOff, ByteOff, wordsToBytes)
 import Bitmap
 import OrdList
index d405e1a..4347aa3 100644 (file)
@@ -17,7 +17,7 @@ import GhcPrelude
 import ByteCodeTypes
 import GHCi.RemoteTypes
 import GHCi.FFI (C_ffi_cif)
-import StgCmmLayout     ( ArgRep(..) )
+import GHC.StgToCmm.Layout     ( ArgRep(..) )
 import PprCore
 import Outputable
 import FastString
index 7381c8f..11d90bf 100644 (file)
@@ -20,8 +20,8 @@ import NameEnv
 import DataCon          ( DataCon, dataConRepArgTys, dataConIdentity )
 import TyCon            ( TyCon, tyConFamilySize, isDataTyCon, tyConDataCons )
 import RepType
-import StgCmmLayout     ( mkVirtConstrSizes )
-import StgCmmClosure    ( tagForCon, NonVoid (..) )
+import GHC.StgToCmm.Layout  ( mkVirtConstrSizes )
+import GHC.StgToCmm.Closure ( tagForCon, NonVoid (..) )
 import Util
 import Panic
 
index c30d06f..9fe18a5 100644 (file)
@@ -856,7 +856,7 @@ extractSubTerms recurse clos = liftM thdOf3 . go 0 0
       | otherwise = do
           -- This is a bit involved since we allow packing multiple fields
           -- within a single word. See also
-          -- StgCmmLayout.mkVirtHeapOffsetsWithPadding
+          -- GHC.StgToCmm.Layout.mkVirtHeapOffsetsWithPadding
           dflags <- getDynFlags
           let word_size = wORD_SIZE dflags
               big_endian = wORDS_BIGENDIAN dflags
@@ -864,7 +864,7 @@ extractSubTerms recurse clos = liftM thdOf3 . go 0 0
               -- Align the start offset (eg, 2-byte value should be 2-byte
               -- aligned). But not more than to a word. The offset calculation
               -- should be the same with the offset calculation in
-              -- StgCmmLayout.mkVirtHeapOffsetsWithPadding.
+              -- GHC.StgToCmm.Layout.mkVirtHeapOffsetsWithPadding.
               !aligned_idx = roundUpTo arr_i (min word_size size_b)
               !new_arr_i = aligned_idx + size_b
               ws | size_b < word_size =
index 399a81b..cc86c42 100644 (file)
@@ -18,7 +18,7 @@ import LlvmCodeGen.Regs
 import LlvmMangler
 
 import BlockId
-import CgUtils ( fixStgRegisters )
+import GHC.StgToCmm.CgUtils ( fixStgRegisters )
 import Cmm
 import CmmUtils
 import Hoopl.Block
index e56be3e..b132a1b 100644 (file)
@@ -45,7 +45,7 @@ import Llvm
 import LlvmCodeGen.Regs
 
 import CLabel
-import CodeGen.Platform ( activeStgRegs )
+import GHC.Platform.Regs ( activeStgRegs )
 import DynFlags
 import FastString
 import Cmm              hiding ( succ )
index 86a5938..f86207e 100644 (file)
@@ -14,7 +14,7 @@ import LlvmCodeGen.Base
 import LlvmCodeGen.Regs
 
 import BlockId
-import CodeGen.Platform ( activeStgRegs, callerSaves )
+import GHC.Platform.Regs ( activeStgRegs, callerSaves )
 import CLabel
 import Cmm
 import PprCmm
index a9e443c..f2fc6e9 100644 (file)
@@ -124,7 +124,7 @@ import SimplCore
 import TidyPgm
 import CorePrep
 import CoreToStg        ( coreToStg )
-import qualified StgCmm ( codeGen )
+import qualified GHC.StgToCmm as StgToCmm ( codeGen )
 import StgSyn
 import StgFVs           ( annTopBindingsFreeVars )
 import CostCentre
@@ -1412,7 +1412,7 @@ hscGenHardCode hsc_env cgguts mod_summary output_filename = do
         withTiming (pure dflags)
                    (text "CodeGen"<+>brackets (ppr this_mod))
                    (const ()) $ do
-            cmms <- {-# SCC "StgCmm" #-}
+            cmms <- {-# SCC "StgToCmm" #-}
                             doCodeGen hsc_env this_mod data_tycons
                                 cost_centre_info
                                 stg_binds hpc_info
@@ -1507,8 +1507,8 @@ doCodeGen hsc_env this_mod data_tycons
     dumpIfSet_dyn dflags Opt_D_dump_stg_final
                   "STG for code gen:" (pprGenStgTopBindings stg_binds_w_fvs)
     let cmm_stream :: Stream IO CmmGroup ()
-        cmm_stream = {-# SCC "StgCmm" #-}
-            StgCmm.codeGen dflags this_mod data_tycons
+        cmm_stream = {-# SCC "StgToCmm" #-}
+            StgToCmm.codeGen dflags this_mod data_tycons
                            cost_centre_info stg_binds_w_fvs hpc_info
 
         -- codegen consumes a stream of CmmGroup, and produces a new
index b735a3e..0bbb07f 100644 (file)
@@ -72,7 +72,7 @@ import Dwarf
 import Debug
 
 import BlockId
-import CgUtils          ( fixStgRegisters )
+import GHC.StgToCmm.CgUtils ( fixStgRegisters )
 import Cmm
 import CmmUtils
 import Hoopl.Collections
index a646f0b..9066b3e 100644 (file)
@@ -46,7 +46,7 @@ import qualified Data.Map as Map
 import Data.Word
 import Data.Char
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 
 -- | Individual dwarf records. Each one will be encoded as an entry in
 -- the @.debug_info@ section.
index a49526c..5ae9ce7 100644 (file)
@@ -27,7 +27,7 @@ where
 -- NCG stuff:
 import GhcPrelude
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import PPC.Instr
 import PPC.Cond
 import PPC.Regs
index ee8edd8..22dc4ff 100644 (file)
@@ -33,7 +33,7 @@ import TargetReg
 import RegClass
 import Reg
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import BlockId
 import Hoopl.Collections
 import Hoopl.Label
index 5b7ac20..02940e5 100644 (file)
@@ -60,7 +60,7 @@ import Cmm
 import CLabel           ( CLabel )
 import Unique
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import DynFlags
 import Outputable
 import GHC.Platform
index 5528a38..5df3293 100644 (file)
@@ -9,7 +9,7 @@ import SPARC.Regs
 import RegClass
 import Reg
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import Outputable
 import GHC.Platform
 
index 97c54a9..8a2f2f5 100644 (file)
@@ -22,7 +22,7 @@ import SPARC.Regs
 import Format
 import Reg
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import DynFlags
 import Cmm
 import PprCmmExpr () -- For Outputable instances
index f57b6fa..77a93af 100644 (file)
@@ -40,7 +40,7 @@ import Reg
 import Format
 
 import CLabel
-import CodeGen.Platform
+import GHC.Platform.Regs
 import BlockId
 import DynFlags
 import Cmm
index 0d7edc3..8f470ad 100644 (file)
@@ -34,7 +34,7 @@ where
 
 import GhcPrelude
 
-import CodeGen.Platform.SPARC
+import GHC.Platform.SPARC
 import Reg
 import RegClass
 import Format
index 4aeb4eb..a5b6476 100644 (file)
@@ -38,7 +38,7 @@ import X86.Cond
 import X86.Regs
 import X86.RegInfo
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import CPrim
 import Debug            ( DebugBlock(..), UnwindPoint(..), UnwindTable
                         , UnwindExpr(UwReg), toUnwindExpr )
index 6e5d656..776e2d9 100644 (file)
@@ -30,7 +30,7 @@ import TargetReg
 import BlockId
 import Hoopl.Collections
 import Hoopl.Label
-import CodeGen.Platform
+import GHC.Platform.Regs
 import Cmm
 import FastString
 import Outputable
index 2d9fd88..6d21545 100644 (file)
@@ -52,7 +52,7 @@ where
 
 import GhcPrelude
 
-import CodeGen.Platform
+import GHC.Platform.Regs
 import Reg
 import RegClass
 
index 83313a3..d44c940 100644 (file)
@@ -1079,7 +1079,7 @@ is:
   regardless of the evaluated-ness of their argument.
   See CoreUtils Note [exprOkForSpeculation and SeqOp/DataToTagOp]
 
-* There is a special case for DataToTagOp in StgCmmExpr.cgExpr,
+* There is a special case for DataToTagOp in GHC.StgToCmm.Expr.cgExpr,
   that evaluates its argument and then extracts the tag from
   the returned value.
 
@@ -1146,7 +1146,7 @@ Implementing seq#.  The compiler has magic for SeqOp in
 
 - PrelRules.seqRule: eliminate (seq# <whnf> s)
 
-- StgCmmExpr.cgExpr, and cgCase: special case for seq#
+- GHC.StgToCmm.Expr.cgExpr, and cgCase: special case for seq#
 
 - CoreUtils.exprOkForSpeculation;
   see Note [exprOkForSpeculation and SeqOp/DataToTagOp] in CoreUtils
index c2d4dfd..104c2f8 100644 (file)
@@ -28,9 +28,9 @@ import DynFlags
 import Id
 import SMRep ( WordOff )
 import StgSyn
-import qualified StgCmmArgRep
-import qualified StgCmmClosure
-import qualified StgCmmLayout
+import qualified GHC.StgToCmm.ArgRep  as StgToCmm.ArgRep
+import qualified GHC.StgToCmm.Closure as StgToCmm.Closure
+import qualified GHC.StgToCmm.Layout  as StgToCmm.Layout
 import Outputable
 import Util
 import VarSet
@@ -447,7 +447,7 @@ goodToLift dflags top_lvl rec_flag expander pairs scope = decide
       -- to lift it
       n_args
         = length
-        . StgCmmClosure.nonVoidIds -- void parameters don't appear in Cmm
+        . StgToCmm.Closure.nonVoidIds -- void parameters don't appear in Cmm
         . (dVarSetElems abs_ids ++)
         . rhsLambdaBndrs
       max_n_args
@@ -490,19 +490,19 @@ closureSize dflags ids = words + sTD_HDR_SIZE dflags
   where
     (words, _, _)
       -- Functions have a StdHeader (as opposed to ThunkHeader).
-      = StgCmmLayout.mkVirtHeapOffsets dflags StgCmmLayout.StdHeader
-      . StgCmmClosure.addIdReps
-      . StgCmmClosure.nonVoidIds
+      = StgToCmm.Layout.mkVirtHeapOffsets dflags StgToCmm.Layout.StdHeader
+      . StgToCmm.Closure.addIdReps
+      . StgToCmm.Closure.nonVoidIds
       $ ids
 
 -- | The number of words a single 'Id' adds to a closure's size.
 -- Note that this can't handle unboxed tuples (which may still be present in
 -- let-no-escapes, even after Unarise), in which case
--- @'StgCmmClosure.idPrimRep'@ will crash.
+-- @'GHC.StgToCmm.Closure.idPrimRep'@ will crash.
 idClosureFootprint:: DynFlags -> Id -> WordOff
 idClosureFootprint dflags
-  = StgCmmArgRep.argRepSizeW dflags
-  . StgCmmArgRep.idArgRep
+  = StgToCmm.ArgRep.argRepSizeW dflags
+  . StgToCmm.ArgRep.idArgRep
 
 -- | @closureGrowth expander sizer f fvs@ computes the closure growth in words
 -- as a result of lifting @f@ to top-level. If there was any growing closure
index 57e9f33..5c1d2b5 100644 (file)
@@ -185,7 +185,7 @@ STG programs after unarisation have these invariants:
 
   * DataCon applications (StgRhsCon and StgConApp) don't have void arguments.
     This means that it's safe to wrap `StgArg`s of DataCon applications with
-    `StgCmmEnv.NonVoid`, for example.
+    `GHC.StgToCmm.Env.NonVoid`, for example.
 
   * Alt binders (binders in patterns) are always non-void.
 
index 0507635..a00e8ad 100644 (file)
@@ -676,7 +676,7 @@ data StgOp
   | StgFCallOp ForeignCall Type
         -- The Type, which is obtained from the foreign import declaration
         -- itself, is needed by the stg-to-cmm pass to determine the offset to
-        -- apply to unlifted boxed arguments in StgCmmForeign. See Note
+        -- apply to unlifted boxed arguments in GHC.StgToCmm.Foreign. See Note
         -- [Unlifted boxed arguments to foreign calls]
 
 {-
index 325410e..7e87c15 100644 (file)
@@ -171,7 +171,7 @@ and over-saturated function application.
 The implementations of \textsc{App} rules are spread across two
 different calling conventions for functions: slow calls and
 direct calls.  Direct calls handle saturated and over-applied
-cases (\coderef{codeGen/StgCmmLayout.hs}{slowArgs}), while slow
+cases (\coderef{GHC/StgToCmm/Layout.hs}{slowArgs}), while slow
 calls handle all cases (\textit{utils/genapply/GenApply.hs});
 in particular, these cases ensure that the current cost-center
 reverts to the one originally at the call site.
index b296a32..7685f03 100644 (file)
@@ -22,7 +22,7 @@
  * putting the 8-byte fields on an 8-byte boundary.  Padding can
  * vary between C compilers, and we don't take into account any
  * possible padding when generating CCS and CC decls in the code
- * generator (compiler/codeGen/StgCmmProf.hs).
+ * generator (GHC.StgToCmm.Prof).
  */
 
 typedef struct CostCentre_ {
index 27858fb..88fcc58 100644 (file)
@@ -24,7 +24,7 @@
  *
  *  NOTE: other places to change if you change this table:
  *       - utils/genapply/Main.hs: stackApplyTypes
- *       - compiler/codeGen/StgCmmLayout.hs: stdPattern
+ *       - GHC.StgToCmm.Layout: stdPattern
  */
 #define ARG_NONE     3 
 #define ARG_N        4  
index 4cec0b9..217b1bc 100644 (file)
@@ -243,7 +243,7 @@ RTS_THUNK(stg_ap_6_upd);
 RTS_THUNK(stg_ap_7_upd);
 
 /* standard application routines (see also utils/genapply,
- * and compiler/codeGen/StgCmmArgRep.hs).
+ * and GHC.StgToCmm.ArgRep).
  */
 RTS_RET(stg_ap_v);
 RTS_RET(stg_ap_f);
@@ -528,13 +528,13 @@ extern StgWord      CCS_OVERHEAD[];
 extern StgWord      CCS_SYSTEM[];
 
 // Calls to these rts functions are generated directly
-// by codegen (see compiler/codeGen/StgCmmProf.hs)
+// by codegen (see GHC.StgToCmm.Prof)
 // and don't require (don't emit) forward declarations.
 //
 // In unregisterised mode (when building via .hc files)
 // the calls are ordinary C calls. Functions must be in
 // scope and must match prototype assumed by
-//    'compiler/codeGen/StgCmmProf.hs'
+//    'GHC.StgToCmm.Prof'
 // as opposed to real prototype declared in
 //    'includes/rts/prof/CCS.h'
 void enterFunCCS (void *reg, void *ccsfn);
index 5487a9a..4be11d1 100644 (file)
@@ -166,7 +166,7 @@ EXTERN_INLINE void load_load_barrier(void);
  *
  *  - Eager blackholing a THUNK:
  *    This is protected by an explicit write barrier in the eager blackholing
- *    code produced by the codegen. See StgCmmBind.emitBlackHoleCode.
+ *    code produced by the codegen. See GHC.StgToCmm.Bind.emitBlackHoleCode.
  *
  *  - Lazy blackholing a THUNK:
  *    This is is protected by an explicit write barrier in the thread suspension
@@ -189,8 +189,8 @@ EXTERN_INLINE void load_load_barrier(void);
  *
  *  - Write to an Array#, ArrayArray#, or SmallArray#:
  *    This case is protected by an explicit write barrier in the code produced
- *    for this primop by the codegen. See StgCmmPrim.doWritePtrArrayOp and
- *    StgCmmPrim.doWriteSmallPtrArrayOp. Relevant issue: #12469.
+ *    for this primop by the codegen. See GHC.StgToCmm.Prim.doWritePtrArrayOp and
+ *    GHC.StgToCmm.Prim.doWriteSmallPtrArrayOp. Relevant issue: #12469.
  *
  *  - Write to MutVar# via writeMutVar#:
  *    This case is protected by an explicit write barrier in the code produced
index d9a28d7..777dc93 100644 (file)
@@ -2509,7 +2509,7 @@ stg_setThreadAllocationCounterzh ( I64 counter )
     // Allocation in the current block will be subtracted by
     // getThreadAllocationCounter#, so we have to offset any existing
     // allocation here.  See also openNursery/closeNursery in
-    // compiler/codeGen/StgCmmForeign.hs.
+    // GHC.StgToCmm.Foreign.
     W_ offset;
     offset = Hp - bdescr_start(CurrentNursery);
     StgTSO_alloc_limit(CurrentTSO) = counter + TO_I64(offset);
index 40088aa..34a13ac 100644 (file)
@@ -3,8 +3,8 @@ module Main where
 import DynFlags
 import RepType
 import SMRep
-import StgCmmLayout
-import StgCmmClosure
+import GHC.StgToCmm.Layout
+import GHC.StgToCmm.Closure
 import GHC
 import GhcMonad
 import System.Environment
index 18e0f3b..5c6d9da 100644 (file)
@@ -24,7 +24,7 @@ import qualified RegAlloc.Graph.Stats as Color
 import qualified RegAlloc.Linear.Base as Linear
 import qualified X86.Instr
 import HscMain
-import CgUtils
+import GHC.StgToCmm.CgUtils
 import AsmCodeGen
 import CmmBuildInfoTables
 import CmmPipeline
index 270bc61..4a9d1e1 100644 (file)
@@ -1000,7 +1000,7 @@ applyTypes = [
 --
 --  NOTE: other places to change if you change stackApplyTypes:
 --       - includes/rts/storage/FunTypes.h
---       - compiler/codeGen/StgCmmLayout.hs: stdPattern
+--       - GHC.StgToCmm.Layout: stdPattern
 stackApplyTypes = [
         [],
         [N],