summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorAndreas Klebinger <klebinger.andreas@gmx.at>2021-12-23 15:46:18 +0100
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-02-10 04:35:35 -0500
commit48f257151f30f6b4d2f8b1a6ea4185ccd00ebd95 (patch)
treec440e41d67f5c4d2f62deaed0b9dbb6991e06338 /docs
parentac2d18a7353cd3ac1ba4b5993f2776fe0c5eedc9 (diff)
downloadhaskell-48f257151f30f6b4d2f8b1a6ea4185ccd00ebd95.tar.gz
Add late cost centre support
This allows cost centres to be inserted after the core optimization pipeline has run.
Diffstat (limited to 'docs')
-rw-r--r--docs/users_guide/profiling.rst13
1 files changed, 13 insertions, 0 deletions
diff --git a/docs/users_guide/profiling.rst b/docs/users_guide/profiling.rst
index a1b1de819f..87509d6331 100644
--- a/docs/users_guide/profiling.rst
+++ b/docs/users_guide/profiling.rst
@@ -438,6 +438,19 @@ compiled program.
or the :rts-flag:`-xc` RTS flag (:ref:`rts-options-debugging`) for more
details.
+.. ghc-flag:: -fprof-late-ccs
+ :shortdesc: Auto-add ``SCC``\\ s to all top level bindings *after* the optimizer has run.
+ :type: dynamic
+ :reverse: -fno-prof-auto
+ :category:
+
+ Adds an automatic ``SCC`` annotation to all top level bindings late in the core pipeline after
+ the optimizer has run. This means these cost centres will not interfere with core-level optimizations
+ and the resulting profile will be closer to the performance profile of an optimized non-profiled
+ executable.
+ While the results of this are generally very good some of the compiler internal names
+ will leak into the profile.
+
.. ghc-flag:: -fprof-cafs
:shortdesc: Auto-add ``SCC``\\ s to all CAFs
:type: dynamic