summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2012-01-12 15:43:12 -0800
committerDavid Terei <davidterei@gmail.com>2012-01-12 16:42:07 -0800
commit4ef5ce6f463ae1ffc6afc1f50a99ecf226bcbf1b (patch)
treec7396dd00c768ada5dbe14beaca3a4786ce0453d /docs
parent167d2d42f02e4e2a7bbbe02f584b289d6a39ee37 (diff)
downloadhaskell-4ef5ce6f463ae1ffc6afc1f50a99ecf226bcbf1b.tar.gz
Add '-freg-liveness' flag to control if STG liveness information
is used for optimisation. (enabled by default)
Diffstat (limited to 'docs')
-rw-r--r--docs/users_guide/flags.xml17
1 files changed, 17 insertions, 0 deletions
diff --git a/docs/users_guide/flags.xml b/docs/users_guide/flags.xml
index 10679576ef..8e599c26ae 100644
--- a/docs/users_guide/flags.xml
+++ b/docs/users_guide/flags.xml
@@ -1608,6 +1608,23 @@
</row>
<row>
+ <entry><option>-freg-liveness</option></entry>
+ <entry>Track STG register liveness to avoid saving and restoring
+ dead registers, as well as freeing the dead ones for use in
+ intermediate code. (LLVM backend only).
+
+ Traditionally GHC has reserved a set of machine registers for the
+ exclusive use of storing a stack pointer, heap pointer and
+ general purpose function argument registers (these are the so
+ called STG registers). This optimisation tracks the liveness of
+ the machine registers the STG registers are mapped to so that the
+ machine register can be used for other purposes when the STG
+ register are dead.</entry>
+ <entry>dynamic</entry>
+ <entry><option>-fno-reg-liveness</option></entry>
+ </row>
+
+ <row>
<entry><option>-fsimplifier-phases</option></entry>
<entry>Set the number of phases for the simplifier (default 2).
Ignored with <option>-O0</option>.</entry>