* graphite.c (graphite_apply_transformations): Check for
-fgraphite-identity.
* toplev.c (process_options): Add graphite_identity.
* tree-ssa-loop.c (gate_graphite_transforms): Add graphite_identity.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@141325
138bc75d-0d04-0410-961f-
82ee72b054a4
+2008-10-23 Tobias Grosser <grosser@fim.uni-passau.de>
+
+ * graphite.c (graphite_apply_transformations): Check for
+ -fgraphite-identity.
+ * toplev.c (process_options): Add graphite_identity.
+ * tree-ssa-loop.c (gate_graphite_transforms): Add graphite_identity.
+
2008-10-23 Bernd Schmidt <bernd.schmidt@analog.com>
* config/bfin/bfin.c (bdesc_2arg): Add mulhisill, mulhisilh,
Common Report Var(flag_loop_block) Optimization
Enable Loop Blocking transformation
+fgraphite-identity
+Common Report Var(flag_graphite_identity) Optimization
+Enable Graphite Identity transformation
+
fguess-branch-probability
Common Report Var(flag_guess_branch_prob) Optimization
Enable guessing of branch probabilities
if (flag_loop_block)
transform_done = graphite_trans_scop_block (scop);
-#if 0 && ENABLE_CHECKING
- /* When the compiler is configured with ENABLE_CHECKING, always
- generate code, even if we did not apply any transformation. This
- provides better code coverage of the backend code generator.
-
- This also allows to check the performance for an identity
- transform: GIMPLE -> GRAPHITE -> GIMPLE; and the output of CLooG
- is never an identity: if CLooG optimizations are not disabled,
- the CLooG output is always optimized in control flow. */
- transform_done = true;
-#endif
+ /* Generate code even if we did not apply any real transformation.
+ This also allows to check the performance for the identity
+ transformation: GIMPLE -> GRAPHITE -> GIMPLE
+ Keep in mind that CLooG optimizes in control, so the loop structure
+ may change, even if we only use -fgraphite-identity. */
+ if (flag_graphite_identity)
+ transform_done = true;
return transform_done;
}
if (flag_graphite
|| flag_loop_block
|| flag_loop_interchange
- || flag_loop_strip_mine)
+ || flag_loop_strip_mine
+ || flag_graphite_identity)
sorry ("Graphite loop optimizations cannot be used");
#endif
{
/* Enable -fgraphite pass if any one of the graphite optimization flags
is turned on. */
- if (flag_loop_block || flag_loop_interchange || flag_loop_strip_mine)
+ if (flag_loop_block || flag_loop_interchange || flag_loop_strip_mine
+ || flag_graphite_identity)
flag_graphite = 1;
return flag_graphite != 0;