This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Patch: Flags to enable/disable scheduling heuristics


Shobaki, Ghassan wrote:
I have made the minor changes requested by Vladimir and checked in the patch. Here is a another patch which adds heuristic descriptions to invoke.texi. Is this OK?

Yes, that is ok. Thanks for the patch, Ghassan.
2009-07-13 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.


Index: doc/invoke.texi
===================================================================
--- doc/invoke.texi (revision 149603)
+++ doc/invoke.texi (working copy)
@@ -6235,46 +6235,56 @@ This only makes sense when scheduling af
@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




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]