-initPersistentCompilerState :: IO PersistentCompilerState
-initPersistentCompilerState
- = do nc <- initNameCache
- return (
- PCS { pcs_EPS = initExternalPackageState,
- pcs_nc = nc })
-
-initNameCache :: IO NameCache
- = do us <- mkSplitUniqSupply 'r'
- return (NameCache { nsUniqs = us,
- nsNames = initOrigNames,
- nsIPs = emptyFM })
-
-initExternalPackageState :: ExternalPackageState
-initExternalPackageState
- = EPS {
- eps_decls = (emptyNameEnv, 0),
- eps_insts = (emptyBag, 0),
- eps_inst_gates = emptyNameSet,
- eps_rules = foldr add_rule (emptyBag, 0) builtinRules,
-
- eps_PIT = emptyPackageIfaceTable,
- eps_PTE = wiredInThingEnv,
- eps_inst_env = emptyInstEnv,
- eps_rule_base = emptyRuleBase }
-
+dumpIfaceStats :: HscEnv -> IO ()
+dumpIfaceStats hsc_env
+ = do { eps <- readIORef (hsc_EPS hsc_env)
+ ; dumpIfSet (dump_if_trace || dump_rn_stats)
+ "Interface statistics"
+ (ifaceStats eps) }