endPass dflags "Specialise" Opt_D_dump_spec binds'
dumpIfSet_dyn dflags Opt_D_dump_rules "Top-level specialisations"
- (pprRules (tidyRules emptyTidyEnv (rulesOfBinds binds')))
+ (withPprStyle defaultUserStyle $
+ pprRules (tidyRules emptyTidyEnv (rulesOfBinds binds')))
return binds'
where
dumpUDs bndrs (MkUD { dict_binds = orig_dbs
, calls = orig_calls
, ud_fvs = fvs}) body
- = (MkUD { dict_binds = free_dbs
- , calls = free_calls
- , ud_fvs = fvs `minusVarSet` bndr_set}, -- This may delete fewer variables
- foldrBag add_let body dump_dbs) -- than in priciple possible
+ = (new_uds, foldrBag add_let body dump_dbs)
+ -- This may delete fewer variables
+ -- than in priciple possible
where
+ new_uds =
+ MkUD { dict_binds = free_dbs
+ , calls = free_calls
+ , ud_fvs = fvs `minusVarSet` bndr_set}
+
bndr_set = mkVarSet bndrs
add_let (bind,_) body = Let bind body