diff options
author | Ghassan Shobaki <ghassan.shobaki@amd.com> | 2009-07-14 23:47:54 +0000 |
---|---|---|
committer | Ghassan Shobaki <gshobaki@gcc.gnu.org> | 2009-07-14 23:47:54 +0000 |
commit | 96809b41e7efeab1f670007fb8d08e25de43f7a1 (patch) | |
tree | 86fd32553f7c8de435136bfc4bb1c3cc61cc8e91 /gcc/doc | |
parent | 54a1e1d016f7b5092b416c5164e92986c187f312 (diff) | |
download | gcc-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.texi | 48 |
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 |