From 96809b41e7efeab1f670007fb8d08e25de43f7a1 Mon Sep 17 00:00:00 2001
From: Ghassan Shobaki <ghassan.shobaki@amd.com>
Date: Tue, 14 Jul 2009 23:47:54 +0000
Subject: [PATCH] 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
---
 gcc/ChangeLog       |  6 ++++++
 gcc/doc/invoke.texi | 48 +++++++++++++++++++++++++++------------------
 2 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8c197f1467b6..762416132840 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+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.
+	
 2009-07-14  DJ Delorie  <dj@redhat.com>
 
 	* config/mep/mep.md (sibcall_internal): Include non-toggling
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index cff2431db972..a18da59cbf6f 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
-- 
GitLab