X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fcompiler%2FbasicTypes%2FUnique.lhs;h=dbfc12a865908d0173ebd2d6485187fbd8f17d36;hb=423d477bfecd490de1449c59325c8776f91d7aac;hp=9f5109f62737e5e5023ac581a526b1ab901c882b;hpb=553e90d9a32ee1b1809430f260c401cc4169c6c7;p=ghc-hetmet.git diff --git a/ghc/compiler/basicTypes/Unique.lhs b/ghc/compiler/basicTypes/Unique.lhs index 9f5109f..dbfc12a 100644 --- a/ghc/compiler/basicTypes/Unique.lhs +++ b/ghc/compiler/basicTypes/Unique.lhs @@ -41,7 +41,10 @@ module Unique ( mkPArrDataConUnique, mkBuiltinUnique, - mkPseudoUnique3 + mkPseudoUniqueC, + mkPseudoUniqueD, + mkPseudoUniqueE, + mkPseudoUniqueH ) where #include "HsVersions.h" @@ -255,13 +258,22 @@ iToBase62 n@(I# n#) Allocation of unique supply characters: v,t,u : for renumbering value-, type- and usage- vars. - other a-z: lower case chars for unique supplies (see Main.lhs) B: builtin C-E: pseudo uniques (used in native-code generator) X: uniques derived by deriveUnique _: unifiable tyvars (above) 0-9: prelude things below + other a-z: lower case chars for unique supplies. Used so far: + + d desugarer + f AbsC flattener + g SimplStg + l ndpFlatten + n Native codegen + r Hsc name cache + s simplifier + \begin{code} mkAlphaTyVarUnique i = mkUnique '1' i @@ -303,15 +315,13 @@ mkPArrDataConUnique a = mkUnique ':' (2*a) initTyVarUnique :: Unique initTyVarUnique = mkUnique 't' 0 -mkPseudoUnique1, mkPseudoUnique2, mkPseudoUnique3, +mkPseudoUniqueC, mkPseudoUniqueD, mkPseudoUniqueE, mkPseudoUniqueH, mkBuiltinUnique :: Int -> Unique -builtinUniques :: [Unique] -builtinUniques = map mkBuiltinUnique [1..] - mkBuiltinUnique i = mkUnique 'B' i -mkPseudoUnique1 i = mkUnique 'C' i -- used for getUnique on Regs -mkPseudoUnique2 i = mkUnique 'D' i -- used in NCG for getUnique on RealRegs -mkPseudoUnique3 i = mkUnique 'E' i -- used in NCG spiller to create spill VirtualRegs +mkPseudoUniqueC i = mkUnique 'C' i -- used for getUnique on Regs +mkPseudoUniqueD i = mkUnique 'D' i -- used in NCG for getUnique on RealRegs +mkPseudoUniqueE i = mkUnique 'E' i -- used in NCG spiller to create spill VirtualRegs +mkPseudoUniqueH i = mkUnique 'H' i -- used in NCG spiller to create spill VirtualRegs \end{code}