This is the mail archive of the 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]

[PATCH][4.6] Undocument -fsched2-use-traces

Options -fsched2-use-traces and -fsched2-use-superblocks have been equivalent since tracer was moved to Tree-SSA. At present, the only occurences of these options in GCC trunk are:

$ grep -R sched2.use . | grep -v ChangeLog
common.opt:Common Report Var(flag_sched2_use_superblocks) Optimization
common.opt:Common Report Var(flag_sched2_use_traces) Optimization
doc/invoke.texi:-frounding-math -fsched2-use-superblocks @gol
doc/invoke.texi:-fsched2-use-traces -fsched-pressure @gol
doc/invoke.texi:@item -fsched2-use-superblocks
doc/invoke.texi:@opindex fsched2-use-superblocks
doc/invoke.texi:@item -fsched2-use-traces
doc/invoke.texi:@opindex fsched2-use-traces
doc/invoke.texi:Use @option{-fsched2-use-superblocks} algorithm when scheduling after register
testsuite/gcc.dg/pr41762.c:/* { dg-options "-O2 -ftracer -fsched2-use-superblocks" } */
testsuite/gcc.dg/pr41762.c:/* { dg-options "-O2 -ftracer -fsched2-use-superblocks -fpic" { target fpic } } */
testsuite/gcc.dg/pr28726.c:/* { dg-options "-O2 -fsched2-use-superblocks" } */
testsuite/gcc.dg/pr19340.c:/* { dg-options "-O1 -fschedule-insns2 -fsched2-use-traces" } */
sched-rgn.c:      if (flag_sched2_use_superblocks || flag_sched2_use_traces)

This patch removes documentation for -fsched2-use-traces and makes it a no-op. OK for stage1?

2010-02-09 Alexander Monakov <>


	* common.opt (fsched2-use-traces): Preserved for backward
	* doc/invoke.texi: Remove the documentation about option
	* sched-rgn.c (rest_of_handle_sched2): Remove usage of
        * opts.c (common_handle_option): Add OPT_fsched2_use_traces to
        the backward compatibility flag section.


* gcc.dg/pr19340.c: Adjust testcase.

diff --git a/gcc/common.opt b/gcc/common.opt
index a4358b5..3318258 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1043,8 +1043,8 @@ Common Report Var(flag_sched2_use_superblocks) Optimization
If scheduling post reload, do superblock scheduling

-Common Report Var(flag_sched2_use_traces) Optimization
-If scheduling post reload, do trace scheduling
+Does nothing.  Preserved for backward compatibility.

 Common Report Var(flag_schedule_insns) Optimization
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index e6a1367..9684f17 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -367,8 +367,7 @@ Objective-C and Objective-C++ Dialects}.
 -freciprocal-math -fregmove -frename-registers -freorder-blocks @gol
 -freorder-blocks-and-partition -freorder-functions @gol
 -frerun-cse-after-loop -freschedule-modulo-scheduled-loops @gol
--frounding-math -fsched2-use-superblocks @gol
--fsched2-use-traces -fsched-pressure @gol
+-frounding-math -fsched2-use-superblocks -fsched-pressure @gol
 -fsched-spec-load -fsched-spec-load-dangerous @gol
 -fsched-stalled-insns-dep[=@var{n}] -fsched-stalled-insns[=@var{n}] @gol
 -fsched-group-heuristic -fsched-critical-path-heuristic @gol
@@ -6405,19 +6404,6 @@ 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
-Use @option{-fsched2-use-superblocks} algorithm when scheduling after register
-allocation and additionally perform code duplication in order to increase the
-size of superblocks using tracer pass. See @option{-ftracer} for details on
-trace formation.
-This mode should produce faster but significantly longer programs. Also
-without @option{-fbranch-probabilities} the traces constructed may not
-match the reality and hurt the performance. This only makes
-sense when scheduling after register allocation, i.e.@: with
-@option{-fschedule-insns2} or at @option{-O2} or higher.
@item -freschedule-modulo-scheduled-loops
@opindex freschedule-modulo-scheduled-loops
The modulo scheduling comes before the traditional scheduling, if a loop
diff --git a/gcc/sched-rgn.c b/gcc/sched-rgn.c
index 68da37b..c7b0ad6 100644
--- a/gcc/sched-rgn.c
+++ b/gcc/sched-rgn.c
@@ -3537,7 +3537,7 @@ rest_of_handle_sched2 (void)
/* Do control and data sched analysis again,
and write some more of the results to dump file. */
- if (flag_sched2_use_superblocks || flag_sched2_use_traces)
+ if (flag_sched2_use_superblocks)
schedule_ebbs ();
schedule_insns ();
diff --git a/gcc/opts.c b/gcc/opts.c
index 75c2d52..df78027 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -2126,6 +2126,7 @@ common_handle_option (size_t scode, const char *arg, int value,
case OPT_fcse_skip_blocks:
case OPT_floop_optimize:
case OPT_frerun_loop_opt:
+ case OPT_fsched2_use_traces:
case OPT_fstrength_reduce:
case OPT_ftree_store_copy_prop:
case OPT_fforce_addr:
diff --git a/gcc/testsuite/gcc.dg/pr19340.c b/gcc/testsuite/gcc.dg/pr19340.c
index 58a919b..4a66591 100644
--- a/gcc/testsuite/gcc.dg/pr19340.c
+++ b/gcc/testsuite/gcc.dg/pr19340.c
@@ -1,5 +1,5 @@
/* { dg-do compile } */
-/* { dg-options "-O1 -fschedule-insns2 -fsched2-use-traces" } */
+/* { dg-options "-O1 -fschedule-insns2 -fsched2-use-superblocks" } */
/* { dg-skip-if "No scheduling" { mmix-*-* cris-*-* crisv32-*-* fido-*-* m68k-*-* m32c-*-* avr-*-* moxie-*-* } { "*" } { "" } } */

extern double f (double x);

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