-dsThenSimplThenTidy dflags pcs hst this_mod print_unqual is_exported tc_result
- = do ------------------ Desugaring ---------------------------------
- -- _scc_ "DeSugar"
- (desugared, rules, h_code, c_code, fe_binders)
- <- deSugar dflags pcs hst this_mod print_unqual tc_result
-
- ------------------ Main Core-language transformations ---------
- -- _scc_ "Core2Core"
- (simplified, orphan_rules)
- <- core2core dflags pcs hst is_exported desugared rules
-
- -- Do saturation and convert to A-normal form
- -- NOTE: future passes cannot transform the syntax, only annotate it
- saturated <- coreSatPgm dflags simplified
-
- -- Do the final tidy-up
- (pcs', tidy_binds, tidy_orphan_rules)
- <- tidyCorePgm dflags this_mod pcs saturated orphan_rules
-
- return (pcs', tidy_binds, tidy_orphan_rules, (fe_binders,h_code,c_code))
-
-
-myCoreToStg dflags this_mod tidy_binds