summaryrefslogtreecommitdiff
path: root/compiler/cmm/Cmm.hs
diff options
context:
space:
mode:
authordias@eecs.harvard.edu <unknown>2008-05-29 16:05:45 +0000
committerdias@eecs.harvard.edu <unknown>2008-05-29 16:05:45 +0000
commit0d80489c9b9f2421f65d8dd86c1e50c6bb429715 (patch)
tree68fbebbb771f95252e847cd91180c614b405f14c /compiler/cmm/Cmm.hs
parent724a9e83f9498382e3580d26a7dd7cd6b108408c (diff)
downloadhaskell-0d80489c9b9f2421f65d8dd86c1e50c6bb429715.tar.gz
Replacing copyins and copyouts with data-movement instructions
o Moved BlockId stuff to a new file to avoid module recursion o Defined stack areas for parameter-passing locations and spill slots o Part way through replacing copy in and copy out nodes - added movement instructions for stack pointer - added movement instructions for call and return parameters (but not with the proper calling conventions) o Inserting spills and reloads for proc points is now procpoint-aware (it was relying on the presence of a CopyIn node as a proxy for procpoint knowledge) o Changed ZipDataflow to expect AGraphs (instead of being polymorphic in the type of graph)
Diffstat (limited to 'compiler/cmm/Cmm.hs')
-rw-r--r--compiler/cmm/Cmm.hs10
1 files changed, 1 insertions, 9 deletions
diff --git a/compiler/cmm/Cmm.hs b/compiler/cmm/Cmm.hs
index 2d13c45ba7..38dc5b3ba5 100644
--- a/compiler/cmm/Cmm.hs
+++ b/compiler/cmm/Cmm.hs
@@ -23,14 +23,11 @@ module Cmm (
CmmCallTarget(..),
CmmStatic(..), Section(..),
module CmmExpr,
-
- BlockId(..), mkBlockId,
- BlockEnv, emptyBlockEnv, lookupBlockEnv, extendBlockEnv, mkBlockEnv,
- BlockSet, emptyBlockSet, elemBlockSet, extendBlockSet,
) where
#include "HsVersions.h"
+import BlockId
import CmmExpr
import MachOp
import CLabel
@@ -42,10 +39,6 @@ import FastString
import Data.Word
-import StackSlot ( BlockId(..), mkBlockId
- , BlockEnv, emptyBlockEnv, lookupBlockEnv, extendBlockEnv, mkBlockEnv
- , BlockSet, emptyBlockSet, elemBlockSet, extendBlockSet
- )
-- A [[BlockId]] is a local label.
-- Local labels must be unique within an entire compilation unit, not
@@ -277,7 +270,6 @@ instance UserOfLocalRegs CmmCallTarget where
instance DefinerOfLocalRegs a => DefinerOfLocalRegs (CmmKinded a) where
foldRegsDefd f z (CmmKinded x _) = foldRegsDefd f z x
-
--just look like a tuple, since it was a tuple before
-- ... is that a good idea? --Isaac Dupree
instance (Outputable a) => Outputable (CmmKinded a) where