Skip to content
  • Andreas Klebinger's avatar
    Change `-fprof-late` to insert cost centres after unfolding creation. · 664fded7
    Andreas Klebinger authored
    The former behaviour of adding cost centres after optimization but
    before unfoldings are created is not available via the flag
    `prof-late-inline` instead.
    
    I also reduced the overhead of -fprof-late* by pushing the cost centres
    into lambdas. This means the cost centres will only account for
    execution of functions and not their partial application.
    
    Further I made LATE_CC cost centres it's own CC flavour so they now
    won't clash with user defined ones if a user uses the same string for
    a custom scc.
    
    LateCC: Don't put cost centres inside constructor workers.
    
    With -fprof-late they are rarely useful as the worker is usually
    inlined. Even if the worker is not inlined or we use -fprof-late-linline
    they are generally not helpful but bloat compile and run time
    significantly. So we just don't add sccs inside constructor workers.
    
    -------------------------
    Metric Decrease:
        T13701
    -------------------------
    664fded7