From 6298247a0795ebbda0138d7605b44d719cfda276 Mon Sep 17 00:00:00 2001 From: gshobaki Date: Tue, 14 Jul 2009 23:47:54 +0000 Subject: [PATCH] 2009-07-14 Ghassan Shobaki * doc/invoke.texi: Added descriptions of the scheduling heuristics that are enabled/disabled by the flags introduced by a previous patch. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149650 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/doc/invoke.texi | 48 +++++++++++++++++++++++++++++------------------- 2 files changed, 35 insertions(+), 19 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c197f1..7624161 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-07-14 Ghassan Shobaki + + * doc/invoke.texi: Added descriptions of the + scheduling heuristics that are enabled/disabled + by the flags introduced by a previous patch. + 2009-07-14 DJ Delorie * config/mep/mep.md (sibcall_internal): Include non-toggling 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 -- 2.7.4