aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorGhassan Shobaki <ghassan.shobaki@amd.com>2009-07-14 23:47:54 +0000
committerGhassan Shobaki <gshobaki@gcc.gnu.org>2009-07-14 23:47:54 +0000
commit96809b41e7efeab1f670007fb8d08e25de43f7a1 (patch)
tree86fd32553f7c8de435136bfc4bb1c3cc61cc8e91 /gcc/doc
parent54a1e1d016f7b5092b416c5164e92986c187f312 (diff)
downloadgcc-96809b41e7efeab1f670007fb8d08e25de43f7a1.zip
gcc-96809b41e7efeab1f670007fb8d08e25de43f7a1.tar.gz
gcc-96809b41e7efeab1f670007fb8d08e25de43f7a1.tar.bz2
invoke.texi: Added descriptions of the scheduling heuristics that are enabled/disabled by...
2009-07-14 Ghassan Shobaki <ghassan.shobaki@amd.com> * doc/invoke.texi: Added descriptions of the scheduling heuristics that are enabled/disabled by the flags introduced by a previous patch. From-SVN: r149650
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi48
1 files changed, 29 insertions, 19 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index cff2431..a18da59 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -6235,46 +6235,56 @@ This only makes sense when scheduling after register allocation, i.e.@: with
@item -fsched-group-heuristic
@opindex fsched-group-heuristic
-Enable the group heuristic in the scheduler. This is enabled by default
-when scheduling is enabled, i.e.@: with @option{-fschedule-insns}
+Enable the group heuristic in the scheduler. This heuristic favors
+the instruction that belongs to a schedule group. This is enabled
+by default when scheduling is enabled, i.e.@: with @option{-fschedule-insns}
or @option{-fschedule-insns2} or at @option{-O2} or higher.
@item -fsched-critical-path-heuristic
@opindex fsched-critical-path-heuristic
-Enable the critical-path heuristic in the scheduler. This is enabled
-by default when scheduling is enabled, i.e.@: with @option{-fschedule-insns}
+Enable the critical-path heuristic in the scheduler. This heuristic favors
+instructions on the critical path. This is enabled by default when
+scheduling is enabled, i.e.@: with @option{-fschedule-insns}
or @option{-fschedule-insns2} or at @option{-O2} or higher.
@item -fsched-spec-insn-heuristic
@opindex fsched-spec-insn-heuristic
-Enable the speculative instruction heuristic in the scheduler. This is
-enabled by default when scheduling is enabled, i.e.@: with
-@option{-fschedule-insns} or @option{-fschedule-insns2} or
-at @option{-O2} or higher.
+Enable the speculative instruction heuristic in the scheduler. This
+heuristic favors speculative instructions with greater dependency weakness.
+This is enabled by default when scheduling is enabled, i.e.@:
+with @option{-fschedule-insns} or @option{-fschedule-insns2}
+or at @option{-O2} or higher.
@item -fsched-reg-pressure-heuristic
@opindex fsched-reg-pressure-heuristic
-Enable the register pressure heuristic in the scheduler. This only makes
-sense when scheduling before register allocation, i.e.@:
+Enable the register pressure heuristic in the scheduler. This heuristic
+favors the instruction with smaller contribution to register pressure.
+This only makes sense when scheduling before register allocation, i.e.@:
with @option{-fschedule-insns} or at @option{-O2} or higher.
@item -fsched-rank-heuristic
@opindex fsched-rank-heuristic
-Enable the rank heuristic in the scheduler. This is enabled by default
-when scheduling is enabled, i.e.@: with @option{-fschedule-insns}
-or @option{-fschedule-insns2} or at @option{-O2} or higher.
+Enable the rank heuristic in the scheduler. This heuristic favors
+the instruction belonging to a basic block with greater size or frequency.
+This is enabled by default when scheduling is enabled, i.e.@:
+with @option{-fschedule-insns} or @option{-fschedule-insns2} or
+at @option{-O2} or higher.
@item -fsched-last-insn-heuristic
@opindex fsched-last-insn-heuristic
-Enable the last-instruction heuristic in the scheduler. This is enabled
-by default when scheduling is enabled, i.e.@: with @option{-fschedule-insns}
-or @option{-fschedule-insns2} or at @option{-O2} or higher.
+Enable the last-instruction heuristic in the scheduler. This heuristic
+favors the instruction that is less dependent on the last instruction
+scheduled. This is enabled by default when scheduling is enabled,
+i.e.@: with @option{-fschedule-insns} or @option{-fschedule-insns2} or
+at @option{-O2} or higher.
@item -fsched-dep-count-heuristic
@opindex fsched-dep-count-heuristic
-Enable the dependent-count heuristic in the scheduler. This is enabled
-by default when scheduling is enabled, i.e.@: with @option{-fschedule-insns}
-or @option{-fschedule-insns2} or at @option{-O2} or higher.
+Enable the dependent-count heuristic in the scheduler. This heuristic
+favors the instruction that has more instructions depending on it.
+This is enabled by default when scheduling is enabled, i.e.@:
+with @option{-fschedule-insns} or @option{-fschedule-insns2} or
+at @option{-O2} or higher.
@item -fsched2-use-traces
@opindex fsched2-use-traces