[PATCH] Use Alias in common.opt to make -ftree-loop-linear an alias of -floop-interchange.

Sebastian Pop sebpop@gmail.com
Fri Jan 28 22:42:00 GMT 2011


Hi Joseph,

Here is the other change that you requested in your review.  I am
regstrapping this on amd64-linux.  This passed
make -k checkRUNTESTFLAGS=graphite.exp

Ok for trunk after full regstrap?

Thanks,
Sebastian

2011-01-28  Sebastian Pop  <sebastian.pop@amd.com>

	* common.opt (ftree-loop-linear): Use Alias to make it an alias of
	-floop-interchange.
	* invoke.texi (-ftree-loop-linear): Make it clear that this flag
	is an alias of -floop-interchange and that it requires the
	Graphite infrastructure.
	* toplev.c (process_options): flag_tree_loop_linear can be used
	only when HAVE_cloog is defined.
	* tree-ssa-loop.c (gate_graphite_transforms): Do not set
	flag_loop_interchange based on the value of flag_tree_loop_linear.
---
 gcc/ChangeLog       |   12 ++++++++++++
 gcc/common.opt      |    4 ++--
 gcc/doc/invoke.texi |    6 ++++--
 gcc/toplev.c        |    1 +
 gcc/tree-ssa-loop.c |    4 ----
 5 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 6d130d4..5b3aad3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,16 @@
 2011-01-28  Sebastian Pop  <sebastian.pop@amd.com>
+
+	* common.opt (ftree-loop-linear): Use Alias to make it an alias of
+	-floop-interchange.
+	* invoke.texi (-ftree-loop-linear): Make it clear that this flag
+	is an alias of -floop-interchange and that it requires the
+	Graphite infrastructure.
+	* toplev.c (process_options): flag_tree_loop_linear can be used
+	only when HAVE_cloog is defined.
+	* tree-ssa-loop.c (gate_graphite_transforms): Do not set
+	flag_loop_interchange based on the value of flag_tree_loop_linear.
+
+2011-01-28  Sebastian Pop  <sebastian.pop@amd.com>
 	    Joseph Myers  <joseph@codesourcery.com>
 
 	* Makefile.in (hwint.o): Depend on DIAGNOSTIC_CORE_H.
diff --git a/gcc/common.opt b/gcc/common.opt
index 12f41b1..aed8dd1 100644
--- a/gcc/common.opt
+++ b/gcc/common.opt
@@ -1903,8 +1903,8 @@ Common Report Var(flag_tree_loop_im) Init(1) Optimization
 Enable loop invariant motion on trees
 
 ftree-loop-linear
-Common Report Var(flag_tree_loop_linear) Optimization
-Enable linear loop transforms on trees
+Common Alias(floop-interchange)
+Enable loop interchange transforms.  Same as -floop-interchange
 
 ftree-loop-ivcanon
 Common Report Var(flag_tree_loop_ivcanon) Init(1) Optimization
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index f2e672a..989e304 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -6870,8 +6870,10 @@ at @option{-O} and higher.
 
 @item -ftree-loop-linear
 @opindex ftree-loop-linear
-Perform linear loop transformations on tree.  This flag can improve cache
-performance and allow further loop optimizations to take place.
+Perform loop interchange transformations on tree.  Same as
+@option{-floop-interchange}.  To use this code transformation, GCC has
+to be configured with @option{--with-ppl} and @option{--with-cloog} to
+enable the Graphite loop transformation infrastructure.
 
 @item -floop-interchange
 @opindex floop-interchange
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 78985cb..ab5a17c 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -1316,6 +1316,7 @@ process_options (void)
   if (flag_graphite
       || flag_loop_block
       || flag_loop_interchange
+      || flag_tree_loop_linear
       || flag_loop_strip_mine
       || flag_graphite_identity
       || flag_loop_parallelize_all)
diff --git a/gcc/tree-ssa-loop.c b/gcc/tree-ssa-loop.c
index 5534b6a..635c09f 100644
--- a/gcc/tree-ssa-loop.c
+++ b/gcc/tree-ssa-loop.c
@@ -273,10 +273,6 @@ gate_graphite_transforms (void)
       || flag_loop_flatten)
     flag_graphite = 1;
 
-  /* Make flag_tree_loop_linear an alias of flag_loop_interchange.  */
-  if (flag_tree_loop_linear)
-    flag_loop_interchange = flag_tree_loop_linear;
-
   return flag_graphite != 0;
 }
 
-- 
1.7.1



More information about the Gcc-patches mailing list