Changes between Version 21 and Version 22 of Commentary/Profiling


Ignore:
Timestamp:
Aug 15, 2017 10:24:52 AM (2 years ago)
Author:
niteria
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Profiling

    v21 v22  
    1212
    1313 * Data-structures for representing cost-centres in [[GhcFile(compiler/profiling/CostCentre.hs)]].
    14  * Front-end support in [[GhcFile(compiler/deSugar/DsExpr.lhs)]], for converting {{{SCC}}} pragma into the {{{Tick}}} constructor in Core.
    15  * Modifications to optimization behavior in [[GhcFile(compiler/coreSyn/CoreUtils.lhs)]] and [[GhcFile(compiler/coreSyn/CorePrep.lhs)]] to prevent optimizations which would result in misleading profile information. Most of this is to handle the fact that SCCs also count entries (tickishCounts, also applies to [wiki:Commentary/Hpc]); otherwise the only relevant optimization is avoiding floating expressions out of SCCs. Note that the simplifier also has "ticks" (so it can decide when to stop optimizing); these are not the same thing at all.
     14 * Front-end support in [[GhcFile(compiler/deSugar/DsExpr.hs)]], for converting {{{SCC}}} pragma into the {{{Tick}}} constructor in Core.
     15 * Modifications to optimization behavior in [[GhcFile(compiler/coreSyn/CoreUtils.hs)]] and [[GhcFile(compiler/coreSyn/CorePrep.hs)]] to prevent optimizations which would result in misleading profile information. Most of this is to handle the fact that SCCs also count entries (tickishCounts, also applies to [wiki:Commentary/Hpc]); otherwise the only relevant optimization is avoiding floating expressions out of SCCs. Note that the simplifier also has "ticks" (so it can decide when to stop optimizing); these are not the same thing at all.
    1616 * The {{{StgSCC}}} constructor in STG, and code generation for it [[GhcFile(compiler/codeGen/StgCmmProf.hs)]]
    17  * A pass over STG in [[GhcFile(compiler/profiling/SCCfinal.lhs)]] to collect cost centres so that they can be statically declared by [[GhcFile(compiler/profiling/ProfInit.hs)]], and add extra SCCs in the case of {{{-fprof-auto}}}; see also [[GhcFile(compiler/profiling/NOTES)]]
     17 * A pass over STG in [[GhcFile(compiler/profiling/SCCfinal.hs)]] to collect cost centres so that they can be statically declared by [[GhcFile(compiler/profiling/ProfInit.hs)]], and add extra SCCs in the case of {{{-fprof-auto}}}; see also [[GhcFile(compiler/profiling/NOTES)]]
    1818 * Code-generation for setting labels found in [[GhcFile(compiler/codeGen/StgCmmProf.hs)]], in particular saving and restoring CC labels and well as counting ticks; note that cost-centres even get their own constructor in C-- as CC_Labels (cost-centre labels).
    1919 * Runtime support for initializing and manipulating the actual runtime {{{CostCentre}}} structs which store information, in [[GhcFile(rts/Profiling.c)]]; headers are located in [[GhcFile(includes/rts/prof/CCS.h)]]