[GHC] #12370: Implement LetUp in DmdAnal (or document why we do not do it)
GHC
ghc-devs at haskell.org
Wed Jul 6 14:13:30 UTC 2016
#12370: Implement LetUp in DmdAnal (or document why we do not do it)
-------------------------------------+-------------------------------------
Reporter: nomeata | Owner:
Type: task | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by nomeata):
Work in progress in branch `wip/T12370`.
It already works in this simple case:
{{{
foo :: (Int, Int) -> Int
foo (x,y) = x + y
{-# NOINLINE foo #-}
bar n m =
let p = (n,m)
{-# NOINLINE p #-}
in foo p
}}}
Here, bar now gets the very detailed signature
`<S(S),1*U(U)><S(S),1*U(U)>m` instead of just `<L,U><L,U>m`.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12370#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list