• Simon Peyton Jones's avatar
    Improvements to demand analysis · d77501cd
    Simon Peyton Jones authored
    This patch collects a few improvements triggered by Trac #15696,
    and fixing Trac #16029
    
    * Stop making toCleanDmd behave specially for unlifted types.
      This special case was the cause of stupid behaviour in Trac
      #16029.  And to my joy I discovered the let/app invariant
      rendered it unnecessary.  (Maybe the special case pre-dated
      the let/app invariant.)
    
      Result: less special-case handling in the compiler, and
      better perf for the compiled code.
    
    * In WwLib.mkWWstr_one, treat seqDmd like U(AAA).  It was not
      being so treated before, which again led to stupid code.
    
    * Update and improve Notes
    
    There are .stderr test wibbles because we get slightly different
    strictness signatures for an argumment of unlifted type:
        <L,U> rather than <S,U>        for Int#
        <S,U> rather than <S(S),U(U)>  for Int
    d77501cd
Name
Last commit
Last update
..
StgLiftLams Loading commit data...
RepType.hs Loading commit data...
SimplStg.hs Loading commit data...
StgCse.hs Loading commit data...
StgLiftLams.hs Loading commit data...
StgStats.hs Loading commit data...
UnariseStg.hs Loading commit data...