/* Loop optimizations over tree-ssa.
Copyright (C) 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
+
This file is part of GCC.
-
+
GCC is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 3, or (at your option) any
later version.
-
+
GCC is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
-
+
You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
#include "flags.h"
#include "tree-inline.h"
#include "tree-scalar-evolution.h"
+#include "toplev.h"
#include "tree-vectorizer.h"
/* The loop superpass. */
return flag_tree_loop_optimize != 0;
}
-struct gimple_opt_pass pass_tree_loop =
+struct gimple_opt_pass pass_tree_loop =
{
{
GIMPLE_PASS,
scev_initialize ();
return 0;
}
-
-struct gimple_opt_pass pass_tree_loop_init =
+
+struct gimple_opt_pass pass_tree_loop_init =
{
{
GIMPLE_PASS,
return flag_tree_loop_im != 0;
}
-struct gimple_opt_pass pass_lim =
+struct gimple_opt_pass pass_lim =
{
{
GIMPLE_PASS,
return flag_unswitch_loops != 0;
}
-struct gimple_opt_pass pass_tree_unswitch =
+struct gimple_opt_pass pass_tree_unswitch =
{
{
GIMPLE_PASS,
return flag_predictive_commoning != 0;
}
-struct gimple_opt_pass pass_predcom =
+struct gimple_opt_pass pass_predcom =
{
{
GIMPLE_PASS,
static bool
gate_graphite_transforms (void)
{
- /* Enable -fgraphite pass if any one of the graphite optimization flags
+ /* 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
- || flag_graphite_identity)
+ || flag_graphite_identity || flag_loop_parallelize_all)
flag_graphite = 1;
return flag_graphite != 0;
{
{
GIMPLE_PASS,
- NULL, /* name */
+ "*record_bounds", /* name */
NULL, /* gate */
tree_ssa_loop_bounds, /* execute */
NULL, /* sub */
loop_optimizer_finalize ();
return 0;
}
-
-struct gimple_opt_pass pass_tree_loop_done =
+
+struct gimple_opt_pass pass_tree_loop_done =
{
{
GIMPLE_PASS,