Skip to content
  • Sebastian Graf's avatar
    Separate CPR analysis from the Demand analyser · 059c3c9d
    Sebastian Graf authored
    The reasons for that can be found in the wiki:
    https://gitlab.haskell.org/ghc/ghc/wikis/nested-cpr/split-off-cpr
    
    We now run CPR after demand analysis (except for after the final demand
    analysis run just before code gen). CPR got its own dump flags
    (`-ddump-cpr-anal`, `-ddump-cpr-signatures`), but not its own flag to
    activate/deactivate. It will run with `-fstrictness`/`-fworker-wrapper`.
    
    As explained on the wiki page, this step is necessary for a sane Nested
    CPR analysis. And it has quite positive impact on compiler performance:
    
    Metric Decrease:
        T9233
        T9675
        T9961
        T15263
    059c3c9d