
#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
`m` instead of just `