-- For pretty debugging
instance Outputable AbsVal where
- ppr Top = ptext SLIT("Top")
- ppr (Fun r) = ptext SLIT("Fun->") <> (parens.ppr) r
- ppr Tuple = ptext SLIT("Tuple ")
- ppr Bot = ptext SLIT("Bot")
+ ppr Top = ptext (sLit "Top")
+ ppr (Fun r) = ptext (sLit "Fun->") <> (parens.ppr) r
+ ppr Tuple = ptext (sLit "Tuple ")
+ ppr Bot = ptext (sLit "Bot")
-- lub takes the lowest upper bound of two abstract values, standard.
let { binds_plus_cpr = do_prog binds } ;
endPass dflags "Constructed Product analysis"
Opt_D_dump_cpranal binds_plus_cpr
+ return binds_plus_cpr
}
where
do_prog :: [CoreBind] -> [CoreBind]