
#14567: OccAnal loop-breaker scoring for NOINLINE things -------------------------------------+------------------------------------- Reporter: simonpj | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.2.1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- When working on #14566 I found a case where the occurrence analyser generated {{{ Rec { {-# NOINLINE f #-} f = e1[g] ; g {-# LOOPBREAKER #-} = e2[f] } }}} That is, even though `f` is marked `NOINLINE` we chose `g` to be the loop breaker. Stupid! If `f` is marked `NOINLINE` it would be a much better loop breaker. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14567 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler