summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoachim Breitner <mail@joachim-breitner.de>2021-08-23 16:27:09 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-10-15 18:15:36 -0400
commit1cda768c86e533c917a495c8de0468960cbe7a52 (patch)
tree55544d44dcf8c8bed41e69287c1e8a055accae75
parent7a8171bc9db792b19a2ee4dda9e019de5e24ebe0 (diff)
downloadhaskell-1cda768c86e533c917a495c8de0468960cbe7a52.tar.gz
GHC.Builtin.Uniques: Remove unused code
a number of functions exported by this module are (no longer) used, so let’s remove them. In particular, it no longer seems to be the case that type variables have tag `'t'`, so removed the special handling when showing them. * the use of `initTyVarUnique` was removed in 7babb1 (with the notable commit message of "Before merging to HEAD we need to tidy up and write a proper commit message.") * `mkPseudoUniqueD`and `mkPseudoUniqueH` were added in 423d477, but never ever used? * `mkCoVarUnique` was added in 674654, but never ever used?
-rw-r--r--compiler/GHC/Builtin/Uniques.hs22
-rw-r--r--compiler/GHC/Builtin/Uniques.hs-boot8
-rw-r--r--compiler/GHC/Types/Unique.hs9
3 files changed, 7 insertions, 32 deletions
diff --git a/compiler/GHC/Builtin/Uniques.hs b/compiler/GHC/Builtin/Uniques.hs
index 12c84ba55b..dc70ce3f5c 100644
--- a/compiler/GHC/Builtin/Uniques.hs
+++ b/compiler/GHC/Builtin/Uniques.hs
@@ -29,16 +29,13 @@ module GHC.Builtin.Uniques
, mkPrimOpIdUnique, mkPrimOpWrapperUnique
, mkPreludeMiscIdUnique, mkPreludeDataConUnique
, mkPreludeTyConUnique, mkPreludeClassUnique
- , mkCoVarUnique
, mkVarOccUnique, mkDataOccUnique, mkTvOccUnique, mkTcOccUnique
, mkRegSingleUnique, mkRegPairUnique, mkRegClassUnique, mkRegSubUnique
, mkCostCentreUnique
, mkBuiltinUnique
- , mkPseudoUniqueD
, mkPseudoUniqueE
- , mkPseudoUniqueH
-- ** Deriving uniquesc
-- *** From TyCon name uniques
@@ -46,7 +43,6 @@ module GHC.Builtin.Uniques
-- *** From DataCon name uniques
, dataConWorkerUnique, dataConTyRepNameUnique
- , initTyVarUnique
, initExitJoinUnique
) where
@@ -290,7 +286,7 @@ getTupleDataConName boxity n =
Note [Uniques for wired-in prelude things and known masks]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Allocation of unique supply characters:
- v,t,u : for renumbering value-, type- and usage- vars.
+ v,u: for renumbering value-, and usage- vars.
B: builtin
C-E: pseudo uniques (used in native-code generator)
I: GHCi evaluation
@@ -306,7 +302,6 @@ Allocation of unique supply characters:
c StgToCmm/Renamer
d desugarer
f AbsC flattener
- g SimplStg
i TypeChecking interface files
j constraint tuple superclass selectors
k constraint tuple tycons
@@ -325,10 +320,8 @@ mkPrimOpIdUnique :: Int -> Unique
-- See Note [Primop wrappers] in GHC.Builtin.PrimOps.
mkPrimOpWrapperUnique :: Int -> Unique
mkPreludeMiscIdUnique :: Int -> Unique
-mkCoVarUnique :: Int -> Unique
mkAlphaTyVarUnique i = mkUnique '1' i
-mkCoVarUnique i = mkUnique 'g' i
mkPreludeClassUnique i = mkUnique '2' i
--------------------------------------------------
@@ -336,19 +329,10 @@ mkPrimOpIdUnique op = mkUnique '9' (2*op)
mkPrimOpWrapperUnique op = mkUnique '9' (2*op+1)
mkPreludeMiscIdUnique i = mkUnique '0' i
--- The "tyvar uniques" print specially nicely: a, b, c, etc.
--- See pprUnique for details
-
-initTyVarUnique :: Unique
-initTyVarUnique = mkUnique 't' 0
-
-mkPseudoUniqueD, mkPseudoUniqueE, mkPseudoUniqueH,
- mkBuiltinUnique :: Int -> Unique
+mkPseudoUniqueE, mkBuiltinUnique :: Int -> Unique
mkBuiltinUnique i = mkUnique 'B' i
-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
mkRegSingleUnique, mkRegPairUnique, mkRegSubUnique, mkRegClassUnique :: Int -> Unique
mkRegSingleUnique = mkUnique 'R'
@@ -388,7 +372,7 @@ tyConRepNameUnique u = incrUnique u
-- * u+2: the TyConRepName of the promoted TyCon
-- Prelude data constructors are too simple to need wrappers.
-mkPreludeDataConUnique :: Arity -> Unique
+mkPreludeDataConUnique :: Int -> Unique
mkPreludeDataConUnique i = mkUnique '6' (3*i) -- Must be alphabetic
--------------------------------------------------
diff --git a/compiler/GHC/Builtin/Uniques.hs-boot b/compiler/GHC/Builtin/Uniques.hs-boot
index f239d13688..7c012262b1 100644
--- a/compiler/GHC/Builtin/Uniques.hs-boot
+++ b/compiler/GHC/Builtin/Uniques.hs-boot
@@ -23,18 +23,16 @@ mkPreludeClassUnique :: Int -> Unique
mkPrimOpIdUnique :: Int -> Unique
mkPrimOpWrapperUnique :: Int -> Unique
mkPreludeMiscIdUnique :: Int -> Unique
-mkCoVarUnique :: Int -> Unique
-mkPseudoUniqueD, mkPseudoUniqueE, mkPseudoUniqueH,
- mkBuiltinUnique :: Int -> Unique
+mkPseudoUniqueE, mkBuiltinUnique :: Int -> Unique
mkRegSingleUnique, mkRegPairUnique, mkRegSubUnique, mkRegClassUnique :: Int -> Unique
mkVarOccUnique, mkDataOccUnique, mkTvOccUnique, mkTcOccUnique :: FastString -> Unique
-initExitJoinUnique, initTyVarUnique :: Unique
+initExitJoinUnique :: Unique
mkPreludeTyConUnique :: Int -> Unique
tyConRepNameUnique :: Unique -> Unique
-mkPreludeDataConUnique :: Arity -> Unique
+mkPreludeDataConUnique :: Int -> Unique
dataConTyRepNameUnique, dataConWorkerUnique :: Unique -> Unique
diff --git a/compiler/GHC/Types/Unique.hs b/compiler/GHC/Types/Unique.hs
index d5aada61c7..25075f47a1 100644
--- a/compiler/GHC/Types/Unique.hs
+++ b/compiler/GHC/Types/Unique.hs
@@ -273,14 +273,7 @@ instance Uniquable Unique where
showUnique :: Unique -> String
showUnique uniq
= case unpkUnique uniq of
- (tag, u) -> finish_show tag u (iToBase62 u)
-
-finish_show :: Char -> Int -> String -> String
-finish_show 't' u _pp_u | u < 26
- = -- Special case to make v common tyvars, t1, t2, ...
- -- come out as a, b, ... (shorter, easier to read)
- [chr (ord 'a' + u)]
-finish_show tag _ pp_u = tag : pp_u
+ (tag, u) -> tag : iToBase62 u
pprUniqueAlways :: Unique -> SDoc
-- The "always" means regardless of -dsuppress-uniques