X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fcmm%2FCmm.hs;h=38dc5b3ba5bea44fe466bdd495f8a94d973614e0;hb=d502cd03812e1c6452927d40e31e81c0594e899e;hp=53a6d0addf9444dd37049bdb25d3823185882d2a;hpb=b71b86cf18374f8011120c92e24ca293986e86ea;p=ghc-hetmet.git diff --git a/compiler/cmm/Cmm.hs b/compiler/cmm/Cmm.hs index 53a6d0a..38dc5b3 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 ZipCfg ( 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 @@ -274,6 +267,9 @@ instance UserOfLocalRegs CmmCallTarget where foldRegsUsed f set (CmmCallee e _) = foldRegsUsed f set e foldRegsUsed _ set (CmmPrim {}) = set +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 @@ -334,6 +330,7 @@ data CmmCallTarget | CmmPrim -- Call a "primitive" (eg. sin, cos) CallishMachOp -- These might be implemented as inline -- code by the backend. + deriving Eq ----------------------------------------------------------------------------- -- Static Data