Changes between Version 5 and Version 6 of Ticket #12747


Ignore:
Timestamp:
Oct 29, 2016 4:15:51 PM (3 years ago)
Author:
MikolajKonarski
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #12747 – Description

    v5 v6  
    1313It seems almost as if GHC considers a function for inlining in some stages, optimizes accordingly, but changes its mind in other places, not being bound by either INLINE nor NOINLINE, and so the resulting stack of optimizations is different than in either case. IMHO that's too complex behaviour for the programmer to follow, it should irreversibly decide whether to inline at exactly the same place it first takes into account the NO/INLINE pragmas, if present.
    1414
    15 [Edit: another example is the code in description of ticket https://ghc.haskell.org/trac/ghc/ticket/12603, where INLINE, NOINLINE and <nothing> each produce different "MUT time".]
     15[Edit: another example is the code in description of ticket https://ghc.haskell.org/trac/ghc/ticket/12603, where INLINE, NOINLINE and <nothing> each produce different "MUT time" in the place marked with "and NOINLINE lands in between".]