gcc/
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Aug 2010 12:48:59 +0000 (12:48 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Aug 2010 12:48:59 +0000 (12:48 +0000)
* vec.h (FOR_EACH_VEC_ELT): Define.
* c-decl.c: Use it.
* cfgloop.c: Likewise.
* cfgloopmanip.c: Likewise.
* cgraph.c: Likewise.
* cgraphunit.c: Likewise.
* combine.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/mips/mips.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* dbxout.c: Likewise.
* df-scan.c: Likewise.
* dominance.c: Likewise.
* dse.c: Likewise.
* dwarf2out.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* function.c: Likewise.
* gcse.c: Likewise.
* genattr.c: Likewise.
* ggc-common.c: Likewise.
* gimplify.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-clast-to-gimple.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* ifcvt.c: Likewise.
* implicit-zee.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-struct-reorg.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-emit.c: Likewise.
* lambda-code.c: Likewise.
* loop-invariant.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-opts.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* lto-symtab.c: Likewise.
* matrix-reorg.c: Likewise.
* opts.c: Likewise.
* predict.c: Likewise.
* print-tree.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* stor-layout.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chrec.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-emutls.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-loop-linear.c: Likewise.
* tree-mudflap.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* vmsdbgout.c: Likewise.

gcc/ada/
* gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.

gcc/c-family/
* c-common.c: Use FOR_EACH_VEC_ELT.
* c-gimplify.c: Likewise.
* c-pragma.c: Likewise.

gcc/cp/
* call.c: Use FOR_EACH_VEC_ELT.
* class.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* repo.c: Likewise.
* semantics.c: Likewise.
* typeck2.c: Likewise.

gcc/fortran/
* trans-openmp.c: Use FOR_EACH_VEC_ELT.

gcc/java/
* class.c: Use FOR_EACH_VEC_ELT.
* expr.c: Likewise.
* jcf-parse.c: Likewise.
* resource.c: Likewise.

gcc/lto/
* lto.c: Use FOR_EACH_VEC_ELT.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163401 138bc75d-0d04-0410-961f-82ee72b054a4

132 files changed:
gcc/ChangeLog
gcc/ada/ChangeLog
gcc/ada/gcc-interface/decl.c
gcc/ada/gcc-interface/trans.c
gcc/ada/gcc-interface/utils.c
gcc/c-decl.c
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/c-family/c-gimplify.c
gcc/c-family/c-pragma.c
gcc/cfgloop.c
gcc/cfgloopmanip.c
gcc/cgraph.c
gcc/cgraphunit.c
gcc/combine.c
gcc/config/bfin/bfin.c
gcc/config/mips/mips.c
gcc/config/rs6000/rs6000.c
gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/class.c
gcc/cp/decl.c
gcc/cp/decl2.c
gcc/cp/error.c
gcc/cp/except.c
gcc/cp/mangle.c
gcc/cp/method.c
gcc/cp/name-lookup.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/repo.c
gcc/cp/semantics.c
gcc/cp/typeck2.c
gcc/dbxout.c
gcc/df-scan.c
gcc/dominance.c
gcc/dse.c
gcc/dwarf2out.c
gcc/except.c
gcc/expr.c
gcc/fortran/ChangeLog
gcc/fortran/trans-openmp.c
gcc/function.c
gcc/gcse.c
gcc/genattr.c
gcc/ggc-common.c
gcc/gimplify.c
gcc/graphite-blocking.c
gcc/graphite-clast-to-gimple.c
gcc/graphite-dependences.c
gcc/graphite-interchange.c
gcc/graphite-poly.c
gcc/graphite-scop-detection.c
gcc/graphite-sese-to-poly.c
gcc/graphite.c
gcc/haifa-sched.c
gcc/ifcvt.c
gcc/implicit-zee.c
gcc/ipa-prop.c
gcc/ipa-struct-reorg.c
gcc/ipa.c
gcc/ira-build.c
gcc/ira-color.c
gcc/ira-emit.c
gcc/java/ChangeLog
gcc/java/class.c
gcc/java/expr.c
gcc/java/jcf-parse.c
gcc/java/resource.c
gcc/lambda-code.c
gcc/loop-invariant.c
gcc/loop-unroll.c
gcc/lower-subreg.c
gcc/lto-cgraph.c
gcc/lto-opts.c
gcc/lto-streamer-in.c
gcc/lto-streamer-out.c
gcc/lto-streamer.c
gcc/lto-symtab.c
gcc/lto/ChangeLog
gcc/lto/lto.c
gcc/matrix-reorg.c
gcc/opts.c
gcc/predict.c
gcc/print-tree.c
gcc/sdbout.c
gcc/sel-sched-dump.c
gcc/sel-sched-ir.c
gcc/sel-sched.c
gcc/sese.c
gcc/stor-layout.c
gcc/tree-cfg.c
gcc/tree-cfgcleanup.c
gcc/tree-chrec.c
gcc/tree-data-ref.c
gcc/tree-emutls.c
gcc/tree-inline.c
gcc/tree-into-ssa.c
gcc/tree-loop-distribution.c
gcc/tree-loop-linear.c
gcc/tree-mudflap.c
gcc/tree-outof-ssa.c
gcc/tree-parloops.c
gcc/tree-predcom.c
gcc/tree-pretty-print.c
gcc/tree-scalar-evolution.c
gcc/tree-ssa-live.c
gcc/tree-ssa-loop-im.c
gcc/tree-ssa-loop-ivcanon.c
gcc/tree-ssa-loop-ivopts.c
gcc/tree-ssa-loop-manip.c
gcc/tree-ssa-loop-niter.c
gcc/tree-ssa-loop-prefetch.c
gcc/tree-ssa-phiprop.c
gcc/tree-ssa-pre.c
gcc/tree-ssa-reassoc.c
gcc/tree-ssa-sccvn.c
gcc/tree-ssa-structalias.c
gcc/tree-ssa.c
gcc/tree-vect-data-refs.c
gcc/tree-vect-loop-manip.c
gcc/tree-vect-loop.c
gcc/tree-vect-patterns.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vrp.c
gcc/tree.c
gcc/value-prof.c
gcc/var-tracking.c
gcc/varasm.c
gcc/vec.h
gcc/vmsdbgout.c

index 11a82db..c525cad 100644 (file)
@@ -1,3 +1,105 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * vec.h (FOR_EACH_VEC_ELT): Define.
+       * c-decl.c: Use it.
+       * cfgloop.c: Likewise.
+       * cfgloopmanip.c: Likewise.
+       * cgraph.c: Likewise.
+       * cgraphunit.c: Likewise.
+       * combine.c: Likewise.
+       * config/bfin/bfin.c: Likewise.
+       * config/mips/mips.c: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * dbxout.c: Likewise.
+       * df-scan.c: Likewise.
+       * dominance.c: Likewise.
+       * dse.c: Likewise.
+       * dwarf2out.c: Likewise.
+       * except.c: Likewise.
+       * expr.c: Likewise.
+       * function.c: Likewise.
+       * gcse.c: Likewise.
+       * genattr.c: Likewise.
+       * ggc-common.c: Likewise.
+       * gimplify.c: Likewise.
+       * graphite-blocking.c: Likewise.
+       * graphite-clast-to-gimple.c: Likewise.
+       * graphite-dependences.c: Likewise.
+       * graphite-interchange.c: Likewise.
+       * graphite-poly.c: Likewise.
+       * graphite-scop-detection.c: Likewise.
+       * graphite-sese-to-poly.c: Likewise.
+       * graphite.c: Likewise.
+       * haifa-sched.c: Likewise.
+       * ifcvt.c: Likewise.
+       * implicit-zee.c: Likewise.
+       * ipa-prop.c: Likewise.
+       * ipa-struct-reorg.c: Likewise.
+       * ipa.c: Likewise.
+       * ira-build.c: Likewise.
+       * ira-color.c: Likewise.
+       * ira-emit.c: Likewise.
+       * lambda-code.c: Likewise.
+       * loop-invariant.c: Likewise.
+       * loop-unroll.c: Likewise.
+       * lower-subreg.c: Likewise.
+       * lto-cgraph.c: Likewise.
+       * lto-opts.c: Likewise.
+       * lto-streamer-in.c: Likewise.
+       * lto-streamer-out.c: Likewise.
+       * lto-streamer.c: Likewise.
+       * lto-symtab.c: Likewise.
+       * matrix-reorg.c: Likewise.
+       * opts.c: Likewise.
+       * predict.c: Likewise.
+       * print-tree.c: Likewise.
+       * sdbout.c: Likewise.
+       * sel-sched-dump.c: Likewise.
+       * sel-sched-ir.c: Likewise.
+       * sel-sched.c: Likewise.
+       * sese.c: Likewise.
+       * stor-layout.c: Likewise.
+       * tree-cfg.c: Likewise.
+       * tree-cfgcleanup.c: Likewise.
+       * tree-chrec.c: Likewise.
+       * tree-data-ref.c: Likewise.
+       * tree-emutls.c: Likewise.
+       * tree-inline.c: Likewise.
+       * tree-into-ssa.c: Likewise.
+       * tree-loop-distribution.c: Likewise.
+       * tree-loop-linear.c: Likewise.
+       * tree-mudflap.c: Likewise.
+       * tree-outof-ssa.c: Likewise.
+       * tree-parloops.c: Likewise.
+       * tree-predcom.c: Likewise.
+       * tree-pretty-print.c: Likewise.
+       * tree-scalar-evolution.c: Likewise.
+       * tree-ssa-live.c: Likewise.
+       * tree-ssa-loop-im.c: Likewise.
+       * tree-ssa-loop-ivcanon.c: Likewise.
+       * tree-ssa-loop-ivopts.c: Likewise.
+       * tree-ssa-loop-manip.c: Likewise.
+       * tree-ssa-loop-niter.c: Likewise.
+       * tree-ssa-loop-prefetch.c: Likewise.
+       * tree-ssa-phiprop.c: Likewise.
+       * tree-ssa-pre.c: Likewise.
+       * tree-ssa-reassoc.c: Likewise.
+       * tree-ssa-sccvn.c: Likewise.
+       * tree-ssa-structalias.c: Likewise.
+       * tree-ssa.c: Likewise.
+       * tree-vect-data-refs.c: Likewise.
+       * tree-vect-loop-manip.c: Likewise.
+       * tree-vect-loop.c: Likewise.
+       * tree-vect-patterns.c: Likewise.
+       * tree-vect-slp.c: Likewise.
+       * tree-vect-stmts.c: Likewise.
+       * tree-vrp.c: Likewise.
+       * tree.c: Likewise.
+       * value-prof.c: Likewise.
+       * var-tracking.c: Likewise.
+       * varasm.c: Likewise.
+       * vmsdbgout.c: Likewise.
+
 2010-08-20  Joseph Myers  <joseph@codesourcery.com>
 
        * doc/tm.texi.in (PIC_OFFSET_TABLE_REG_CALL_CLOBBERED): Document to
index 41a91f2..ad734d1 100644 (file)
@@ -1,3 +1,9 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
+       * gcc-interface/trans.c: Likewise.
+       * gcc-interface/utils.c: Likewise.
+
 2010-08-18  Eric Botcazou  <ebotcazou@adacore.com>
 
        * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
index 88d5716..2e68eaa 100644 (file)
@@ -4966,7 +4966,7 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, int definition)
          unsigned int i;
          tree t;
 
-         for (i = 0; VEC_iterate (tree, defer_finalize_list, i, t); i++)
+         FOR_EACH_VEC_ELT (tree, defer_finalize_list, i, t)
            rest_of_type_decl_compilation_no_defer (t);
 
          VEC_free (tree, heap, defer_finalize_list);
index 5abc562..d32639a 100644 (file)
@@ -1603,7 +1603,7 @@ Attribute_to_gnu (Node_Id gnat_node, tree *gnu_result_type_p, int attribute)
           and the dimension in the cache and create a new one on failure.  */
        if (!optimize && Present (gnat_param))
          {
-           for (i = 0; VEC_iterate (parm_attr, f_parm_attr_cache, i, pa); i++)
+           FOR_EACH_VEC_ELT (parm_attr, f_parm_attr_cache, i, pa)
              if (pa->id == gnat_param && pa->dim == Dimension)
                break;
 
@@ -2521,7 +2521,7 @@ Subprogram_Body_to_gnu (Node_Id gnat_node)
 
       start_stmt_group ();
 
-      for (i = 0; VEC_iterate (parm_attr, cache, i, pa); i++)
+      FOR_EACH_VEC_ELT (parm_attr, cache, i, pa)
        {
          if (pa->first)
            add_stmt_with_node (pa->first, gnat_node);
index e1f4bbc..cef7232 100644 (file)
@@ -1690,7 +1690,7 @@ invalidate_global_renaming_pointers (void)
   unsigned int i;
   tree iter;
 
-  for (i = 0; VEC_iterate(tree, global_renaming_pointers, i, iter); i++)
+  FOR_EACH_VEC_ELT (tree, global_renaming_pointers, i, iter)
     SET_DECL_RENAMED_OBJECT (iter, NULL_TREE);
 
   VEC_free (tree, gc, global_renaming_pointers);
@@ -4661,7 +4661,7 @@ builtin_decl_for (tree name)
   unsigned i;
   tree decl;
 
-  for (i = 0; VEC_iterate(tree, builtin_decls, i, decl); i++)
+  FOR_EACH_VEC_ELT (tree, builtin_decls, i, decl)
     if (DECL_NAME (decl) == name)
       return decl;
 
index 5606df8..10600c8 100644 (file)
@@ -999,9 +999,7 @@ update_label_decls (struct c_scope *scope)
 
              /* Update the bindings of any goto statements associated
                 with this label.  */
-             for (ix = 0;
-                  VEC_iterate (c_goto_bindings_p, label_vars->gotos, ix, g);
-                  ++ix)
+             FOR_EACH_VEC_ELT (c_goto_bindings_p, label_vars->gotos, ix, g)
                update_spot_bindings (scope, &g->goto_bindings);
            }
        }
@@ -1352,9 +1350,7 @@ c_bindings_start_stmt_expr (struct c_spot_bindings* switch_bindings)
            continue;
          label_vars = b->u.label;
          ++label_vars->label_bindings.stmt_exprs;
-         for (ix = 0;
-              VEC_iterate (c_goto_bindings_p, label_vars->gotos, ix, g);
-              ++ix)
+         FOR_EACH_VEC_ELT (c_goto_bindings_p, label_vars->gotos, ix, g)
            ++g->goto_bindings.stmt_exprs;
        }
     }
@@ -1392,9 +1388,7 @@ c_bindings_end_stmt_expr (struct c_spot_bindings *switch_bindings)
              label_vars->label_bindings.left_stmt_expr = true;
              label_vars->label_bindings.stmt_exprs = 0;
            }
-         for (ix = 0;
-              VEC_iterate (c_goto_bindings_p, label_vars->gotos, ix, g);
-              ++ix)
+         FOR_EACH_VEC_ELT (c_goto_bindings_p, label_vars->gotos, ix, g)
            {
              --g->goto_bindings.stmt_exprs;
              if (g->goto_bindings.stmt_exprs < 0)
@@ -3120,7 +3114,7 @@ lookup_label_for_goto (location_t loc, tree name)
        ...
        goto lab;
      Issue a warning or error.  */
-  for (ix = 0; VEC_iterate (tree, label_vars->decls_in_scope, ix, decl); ++ix)
+  FOR_EACH_VEC_ELT (tree, label_vars->decls_in_scope, ix, decl)
     warn_about_goto (loc, label, decl);
 
   if (label_vars->label_bindings.left_stmt_expr)
@@ -3172,9 +3166,7 @@ check_earlier_gotos (tree label, struct c_label_vars* label_vars)
   unsigned int ix;
   struct c_goto_bindings *g;
 
-  for (ix = 0;
-       VEC_iterate (c_goto_bindings_p, label_vars->gotos, ix, g);
-       ++ix)
+  FOR_EACH_VEC_ELT (c_goto_bindings_p, label_vars->gotos, ix, g)
     {
       struct c_binding *b;
       struct c_scope *scope;
@@ -6788,7 +6780,7 @@ warn_cxx_compat_finish_struct (tree fieldlist)
      because the flag is used to issue visibility warnings, and we
      only want to issue those warnings if the type is referenced
      outside of the struct declaration.  */
-  for (ix = 0; VEC_iterate (tree, struct_parse_info->struct_types, ix, x); ++ix)
+  FOR_EACH_VEC_ELT (tree, struct_parse_info->struct_types, ix, x)
     C_TYPE_DEFINED_IN_STRUCT (x) = 1;
 
   /* The TYPEDEFS_SEEN field of STRUCT_PARSE_INFO is a list of
@@ -6804,9 +6796,7 @@ warn_cxx_compat_finish_struct (tree fieldlist)
         a pointer_set because identifiers are interned.  */
       struct pointer_set_t *tset = pointer_set_create ();
 
-      for (ix = 0;
-          VEC_iterate (tree, struct_parse_info->typedefs_seen, ix, x);
-          ++ix)
+      FOR_EACH_VEC_ELT (tree, struct_parse_info->typedefs_seen, ix, x)
        pointer_set_insert (tset, DECL_NAME (x));
 
       for (x = fieldlist; x != NULL_TREE; x = DECL_CHAIN (x))
@@ -6827,9 +6817,7 @@ warn_cxx_compat_finish_struct (tree fieldlist)
 
   /* For each field which has a binding and which was not defined in
      an enclosing struct, clear the in_struct field.  */
-  for (ix = 0;
-       VEC_iterate (c_binding_ptr, struct_parse_info->fields, ix, b);
-       ++ix)
+  FOR_EACH_VEC_ELT (c_binding_ptr, struct_parse_info->fields, ix, b)
     b->in_struct = 0;
 }
 
@@ -8090,7 +8078,7 @@ store_parm_decls (void)
     tree t;
     int i;
 
-    for (i = 0; VEC_iterate (tree, pending_sizes, i, t); i++)
+    FOR_EACH_VEC_ELT (tree, pending_sizes, i, t)
       add_stmt (t);
   }
 
index b88684a..072aad4 100644 (file)
@@ -1,3 +1,9 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-common.c: Use FOR_EACH_VEC_ELT.
+       * c-gimplify.c: Likewise.
+       * c-pragma.c: Likewise.
+
 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
 
        * c.opt (MDX): Change back to MD.  Mark NoDriverArg instead of
index e2a0561..e2c5d28 100644 (file)
@@ -9300,7 +9300,7 @@ make_tree_vector_copy (const VEC(tree,gc) *orig)
 
   ret = make_tree_vector ();
   VEC_reserve (tree, gc, ret, VEC_length (tree, orig));
-  for (ix = 0; VEC_iterate (tree, orig, ix, t); ++ix)
+  FOR_EACH_VEC_ELT (tree, orig, ix, t)
     VEC_quick_push (tree, ret, t);
   return ret;
 }
index f446ebb..f8a2ab4 100644 (file)
@@ -112,7 +112,7 @@ add_block_to_enclosing (tree block)
   gimple bind;
   VEC(gimple, heap) *stack = gimple_bind_expr_stack ();
 
-  for (i = 0; VEC_iterate (gimple, stack, i, bind); i++)
+  FOR_EACH_VEC_ELT (gimple, stack, i, bind)
     if (gimple_bind_block (bind))
       break;
 
index 81e42be..6aaa2f7 100644 (file)
@@ -306,7 +306,7 @@ maybe_apply_pragma_weak (tree decl)
 
   id = DECL_ASSEMBLER_NAME (decl);
 
-  for (i = 0; VEC_iterate (pending_weak, pending_weaks, i, pe); i++)
+  FOR_EACH_VEC_ELT (pending_weak, pending_weaks, i, pe)
     if (id == pe->name)
       {
        apply_pragma_weak (decl, pe->value);
@@ -324,7 +324,7 @@ maybe_apply_pending_pragma_weaks (void)
   int i;
   pending_weak *pe;
 
-  for (i = 0; VEC_iterate (pending_weak, pending_weaks, i, pe); i++)
+  FOR_EACH_VEC_ELT (pending_weak, pending_weaks, i, pe)
     {
       alias_id = pe->name;
       id = pe->value;
@@ -486,9 +486,7 @@ add_to_renaming_pragma_list (tree oldname, tree newname)
   unsigned ix;
   pending_redefinition *p;
 
-  for (ix = 0;
-       VEC_iterate (pending_redefinition, pending_redefine_extname, ix, p);
-       ix++)
+  FOR_EACH_VEC_ELT (pending_redefinition, pending_redefine_extname, ix, p)
     if (oldname == p->oldname)
       {
        if (p->newname != newname)
@@ -553,9 +551,7 @@ maybe_apply_renaming_pragma (tree decl, tree asmname)
                   "conflict with previous rename");
 
       /* Take any pending redefine_extname off the list.  */
-      for (ix = 0;
-          VEC_iterate (pending_redefinition, pending_redefine_extname, ix, p);
-          ix++)
+      FOR_EACH_VEC_ELT (pending_redefinition, pending_redefine_extname, ix, p)
        if (DECL_NAME (decl) == p->oldname)
          {
            /* Only warn if there is a conflict.  */
@@ -571,9 +567,7 @@ maybe_apply_renaming_pragma (tree decl, tree asmname)
     }
 
   /* Find out if we have a pending #pragma redefine_extname.  */
-  for (ix = 0;
-       VEC_iterate (pending_redefinition, pending_redefine_extname, ix, p);
-       ix++)
+  FOR_EACH_VEC_ELT (pending_redefinition, pending_redefine_extname, ix, p)
     if (DECL_NAME (decl) == p->oldname)
       {
        tree newname = p->newname;
index 516a72e..c242756 100644 (file)
@@ -130,7 +130,7 @@ flow_loop_dump (const struct loop *loop, FILE *file,
     {
       fprintf (file, "multiple latches:");
       latches = get_loop_latch_edges (loop);
-      for (i = 0; VEC_iterate (edge, latches, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, latches, i, e)
        fprintf (file, " %d", e->src->index);
       VEC_free (edge, heap, latches);
       fprintf (file, "\n");
@@ -209,7 +209,7 @@ flow_loops_free (struct loops *loops)
       loop_p loop;
 
       /* Free the loop descriptors.  */
-      for (i = 0; VEC_iterate (loop_p, loops->larray, i, loop); i++)
+      FOR_EACH_VEC_ELT (loop_p, loops->larray, i, loop)
        {
          if (!loop)
            continue;
@@ -286,7 +286,7 @@ establish_preds (struct loop *loop, struct loop *father)
 
   VEC_truncate (loop_p, loop->superloops, 0);
   VEC_reserve (loop_p, gc, loop->superloops, depth);
-  for (i = 0; VEC_iterate (loop_p, father->superloops, i, ploop); i++)
+  FOR_EACH_VEC_ELT (loop_p, father->superloops, i, ploop)
     VEC_quick_push (loop_p, loop->superloops, ploop);
   VEC_quick_push (loop_p, loop->superloops, father);
 
@@ -530,7 +530,7 @@ find_subloop_latch_edge_by_profile (VEC (edge, heap) *latches)
   edge e, me = NULL;
   gcov_type mcount = 0, tcount = 0;
 
-  for (i = 0; VEC_iterate (edge, latches, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, latches, i, e)
     {
       if (e->count > mcount)
        {
@@ -579,7 +579,7 @@ find_subloop_latch_edge_by_ivs (struct loop *loop ATTRIBUTE_UNUSED, VEC (edge, h
       latch = e;
 
   /* Verify that it dominates all the latch edges.  */
-  for (i = 0; VEC_iterate (edge, latches, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, latches, i, e)
     if (!dominated_by_p (CDI_DOMINATORS, e->src, latch->src))
       return NULL;
 
@@ -598,7 +598,7 @@ find_subloop_latch_edge_by_ivs (struct loop *loop ATTRIBUTE_UNUSED, VEC (edge, h
       if (!bb || !flow_bb_inside_loop_p (loop, bb))
        continue;
 
-      for (i = 0; VEC_iterate (edge, latches, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, latches, i, e)
        if (e != latch
            && PHI_ARG_DEF_FROM_EDGE (phi, e) == lop)
          return NULL;
@@ -696,7 +696,7 @@ merge_latch_edges (struct loop *loop)
        fprintf (dump_file, "Merged latch edges of loop %d\n", loop->num);
 
       mfb_reis_set = pointer_set_create ();
-      for (i = 0; VEC_iterate (edge, latches, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, latches, i, e)
        pointer_set_insert (mfb_reis_set, e);
       latch = make_forwarder_block (loop->header, mfb_redirect_edges_in_set,
                                    NULL);
@@ -1192,7 +1192,7 @@ add_bb_to_loop (basic_block bb, struct loop *loop)
   bb->loop_father = loop;
   bb->loop_depth = loop_depth (loop);
   loop->num_nodes++;
-  for (i = 0; VEC_iterate (loop_p, loop->superloops, i, ploop); i++)
+  FOR_EACH_VEC_ELT (loop_p, loop->superloops, i, ploop)
     ploop->num_nodes++;
 
   FOR_EACH_EDGE (e, ei, bb->succs)
@@ -1217,7 +1217,7 @@ remove_bb_from_loops (basic_block bb)
 
   gcc_assert (loop != NULL);
   loop->num_nodes--;
-  for (i = 0; VEC_iterate (loop_p, loop->superloops, i, ploop); i++)
+  FOR_EACH_VEC_ELT (loop_p, loop->superloops, i, ploop)
     ploop->num_nodes--;
   bb->loop_father = NULL;
   bb->loop_depth = 0;
index 69ed980..4363cc5 100644 (file)
@@ -130,7 +130,7 @@ fix_loop_placement (struct loop *loop)
   struct loop *father = current_loops->tree_root, *act;
   bool ret = false;
 
-  for (i = 0; VEC_iterate (edge, exits, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, e)
     {
       act = find_common_loop (loop, e->dest->loop_father);
       if (flow_loop_nested_p (father, act))
@@ -146,7 +146,7 @@ fix_loop_placement (struct loop *loop)
 
       /* The exit edges of LOOP no longer exits its original immediate
         superloops; remove them from the appropriate exit lists.  */
-      for (i = 0; VEC_iterate (edge, exits, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, exits, i, e)
        rescan_loop_exit (e, false, false);
 
       ret = true;
@@ -1271,7 +1271,7 @@ duplicate_loop_to_header_edge (struct loop *loop, edge e,
       bb->aux = 0;
 
       dom_bbs = get_dominated_by (CDI_DOMINATORS, bb);
-      for (j = 0; VEC_iterate (basic_block, dom_bbs, j, dominated); j++)
+      FOR_EACH_VEC_ELT (basic_block, dom_bbs, j, dominated)
        {
          if (flow_bb_inside_loop_p (loop, dominated))
            continue;
index 63fed49..32ad190 100644 (file)
@@ -2149,7 +2149,7 @@ cgraph_clone_node (struct cgraph_node *n, tree decl, gcov_type count, int freq,
        n->count = 0;
     }
 
-  for (i = 0; VEC_iterate (cgraph_edge_p, redirect_callers, i, e); i++)
+  FOR_EACH_VEC_ELT (cgraph_edge_p, redirect_callers, i, e)
     {
       /* Redirect calls to the old version node to point to its new
         version.  */
@@ -2272,7 +2272,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
   DECL_WEAK (new_node->decl) = 0;
   new_node->clone.tree_map = tree_map;
   new_node->clone.args_to_skip = args_to_skip;
-  for (i = 0; VEC_iterate (ipa_replace_map_p, tree_map, i, map); i++)
+  FOR_EACH_VEC_ELT (ipa_replace_map_p, tree_map, i, map)
     {
       tree var = map->new_tree;
 
index 4d02057..4ef63a2 100644 (file)
@@ -2160,7 +2160,7 @@ cgraph_copy_node_for_versioning (struct cgraph_node *old_version,
                          e->lto_stmt_uid, REG_BR_PROB_BASE,
                          CGRAPH_FREQ_BASE,
                          e->loop_nest, true);
-   for (i = 0; VEC_iterate (cgraph_edge_p, redirect_callers, i, e); i++)
+   FOR_EACH_VEC_ELT (cgraph_edge_p, redirect_callers, i, e)
      {
        /* Redirect calls to the old version node to point to its new
          version.  */
index 9c5d8d0..1f8e970 100644 (file)
@@ -1417,7 +1417,7 @@ init_reg_last (void)
   unsigned int i;
   reg_stat_type *p;
 
-  for (i = 0; VEC_iterate (reg_stat_type, reg_stat, i, p); ++i)
+  FOR_EACH_VEC_ELT (reg_stat_type, reg_stat, i, p)
     memset (p, 0, offsetof (reg_stat_type, sign_bit_copies));
 }
 \f
index 566c08b..d0a1396 100644 (file)
@@ -3795,12 +3795,12 @@ bfin_dump_loops (loop_info loops)
       fprintf (dump_file, "{head:%d, depth:%d}", loop->head->index, loop->depth);
 
       fprintf (dump_file, " blocks: [ ");
-      for (ix = 0; VEC_iterate (basic_block, loop->blocks, ix, b); ix++)
+      FOR_EACH_VEC_ELT (basic_block, loop->blocks, ix, b)
        fprintf (dump_file, "%d ", b->index);
       fprintf (dump_file, "] ");
 
       fprintf (dump_file, " inner loops: [ ");
-      for (ix = 0; VEC_iterate (loop_info, loop->loops, ix, i); ix++)
+      FOR_EACH_VEC_ELT (loop_info, loop->loops, ix, i)
        fprintf (dump_file, "%d ", i->loop_no);
       fprintf (dump_file, "]\n");
     }
@@ -3826,7 +3826,7 @@ bfin_scan_loop (loop_info loop, rtx reg, rtx loop_end)
   unsigned ix;
   basic_block bb;
 
-  for (ix = 0; VEC_iterate (basic_block, loop->blocks, ix, bb); ix++)
+  FOR_EACH_VEC_ELT (basic_block, loop->blocks, ix, bb)
     {
       rtx insn;
 
@@ -3902,7 +3902,7 @@ bfin_optimize_loop (loop_info loop)
   /* Every loop contains in its list of inner loops every loop nested inside
      it, even if there are intermediate loops.  This works because we're doing
      a depth-first search here and never visit a loop more than once.  */
-  for (ix = 0; VEC_iterate (loop_info, loop->loops, ix, inner); ix++)
+  FOR_EACH_VEC_ELT (loop_info, loop->loops, ix, inner)
     {
       bfin_optimize_loop (inner);
 
@@ -4052,7 +4052,7 @@ bfin_optimize_loop (loop_info loop)
   reg_lb0 = gen_rtx_REG (SImode, REG_LB0);
   reg_lb1 = gen_rtx_REG (SImode, REG_LB1);
 
-  for (ix = 0; VEC_iterate (basic_block, loop->blocks, ix, bb); ix++)
+  FOR_EACH_VEC_ELT (basic_block, loop->blocks, ix, bb)
     {
       rtx insn;
 
@@ -4433,7 +4433,7 @@ bfin_discover_loop (loop_info loop, basic_block tail_bb, rtx tail_insn)
   if (!loop->bad)
     {
       int pass, retry;
-      for (dwork = 0; VEC_iterate (basic_block, loop->blocks, dwork, bb); dwork++)
+      FOR_EACH_VEC_ELT (basic_block, loop->blocks, dwork, bb)
        {
          edge e;
          edge_iterator ei;
index 5fc78c1..2473219 100644 (file)
@@ -4021,9 +4021,7 @@ mips_multi_write (void)
   struct mips_multi_member *member;
   unsigned int i;
 
-  for (i = 0;
-       VEC_iterate (mips_multi_member, mips_multi_members, i, member);
-       i++)
+  FOR_EACH_VEC_ELT (mips_multi_member, mips_multi_members, i, member)
     if (member->is_label_p)
       fprintf (asm_out_file, "%s\n", member->format);
     else
index 2621af9..89e0127 100644 (file)
@@ -24602,7 +24602,7 @@ no_previous_def (tree function_name)
   branch_island *bi;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (branch_island, branch_islands, ix, bi); ix++)
+  FOR_EACH_VEC_ELT (branch_island, branch_islands, ix, bi)
     if (function_name == bi->function_name)
       return 0;
   return 1;
@@ -24617,7 +24617,7 @@ get_prev_label (tree function_name)
   branch_island *bi;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (branch_island, branch_islands, ix, bi); ix++)
+  FOR_EACH_VEC_ELT (branch_island, branch_islands, ix, bi)
     if (function_name == bi->function_name)
       return bi->label_name;
   return NULL_TREE;
index 82c8299..719658d 100644 (file)
@@ -1,3 +1,20 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * call.c: Use FOR_EACH_VEC_ELT.
+       * class.c: Likewise.
+       * decl.c: Likewise.
+       * decl2.c: Likewise.
+       * error.c: Likewise.
+       * except.c: Likewise.
+       * mangle.c: Likewise.
+       * method.c: Likewise.
+       * name-lookup.c: Likewise.
+       * parser.c: Likewise.
+       * pt.c: Likewise.
+       * repo.c: Likewise.
+       * semantics.c: Likewise.
+       * typeck2.c: Likewise.
+
 2010-08-19  Jason Merrill  <jason@redhat.com>
 
        * call.c (reference_related_p): Check for error_mark_node.
index adcf984..36f5a55 100644 (file)
@@ -3161,7 +3161,7 @@ resolve_args (VEC(tree,gc) *args)
   unsigned int ix;
   tree arg;
 
-  for (ix = 0; VEC_iterate (tree, args, ix, arg); ++ix)
+  FOR_EACH_VEC_ELT (tree, args, ix, arg)
     {
       if (error_operand_p (arg))
        return NULL;
@@ -5423,7 +5423,7 @@ convert_default_arg (tree type, tree arg, tree fn, int parmnum)
     }
 
   /* Detect recursion.  */
-  for (i = 0; VEC_iterate (tree, default_arg_context, i, t); ++i)
+  FOR_EACH_VEC_ELT (tree, default_arg_context, i, t)
     if (t == fn)
       {
        error ("recursive evaluation of default argument for %q#D", fn);
@@ -5620,7 +5620,7 @@ build_over_call (struct z_candidate *cand, int flags, tsubst_flags_t complain)
          ++nargs;
          alcarray = XALLOCAVEC (tree, nargs);
          alcarray[0] = first_arg;
-         for (ix = 0; VEC_iterate (tree, args, ix, arg); ++ix)
+         FOR_EACH_VEC_ELT (tree, args, ix, arg)
            alcarray[ix + 1] = arg;
          argarray = alcarray;
        }
index c00b7de..35b6db1 100644 (file)
@@ -2048,7 +2048,7 @@ get_vcall_index (tree fn, tree type)
   tree_pair_p p;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (tree_pair_s, indices, ix, p); ix++)
+  FOR_EACH_VEC_ELT (tree_pair_s, indices, ix, p)
     if ((DECL_DESTRUCTOR_P (fn) && DECL_DESTRUCTOR_P (p->purpose))
        || same_signature_p (fn, p->purpose))
       return p->value;
@@ -8125,7 +8125,7 @@ add_vcall_offset (tree orig_fn, tree binfo, vtbl_init_data *vid)
      signature as FN, then we do not need a second vcall offset.
      Check the list of functions already present in the derived
      class vtable.  */
-  for (i = 0; VEC_iterate (tree, vid->fns, i, derived_entry); ++i)
+  FOR_EACH_VEC_ELT (tree, vid->fns, i, derived_entry)
     {
       if (same_signature_p (derived_entry, orig_fn)
          /* We only use one vcall offset for virtual destructors,
index 198921f..6465658 100644 (file)
@@ -720,9 +720,8 @@ poplevel (int keep, int reverse, int functionbody)
 
   /* Remove declarations for any `for' variables from inner scopes
      that we kept around.  */
-  for (ix = VEC_length (tree, current_binding_level->dead_vars_from_for) - 1;
-       VEC_iterate (tree, current_binding_level->dead_vars_from_for, ix, decl);
-       ix--)
+  FOR_EACH_VEC_ELT_REVERSE (tree, current_binding_level->dead_vars_from_for,
+                           ix, decl)
     pop_binding (DECL_NAME (decl), decl);
 
   /* Restore the IDENTIFIER_TYPE_VALUEs.  */
@@ -731,11 +730,9 @@ poplevel (int keep, int reverse, int functionbody)
     SET_IDENTIFIER_TYPE_VALUE (TREE_PURPOSE (link), TREE_VALUE (link));
 
   /* Restore the IDENTIFIER_LABEL_VALUEs for local labels.  */
-  for (ix = VEC_length (cp_label_binding,
-                       current_binding_level->shadowed_labels) - 1;
-       VEC_iterate (cp_label_binding, current_binding_level->shadowed_labels,
-                   ix, label_bind);
-       ix--)
+  FOR_EACH_VEC_ELT_REVERSE (cp_label_binding,
+                           current_binding_level->shadowed_labels,
+                           ix, label_bind)
     pop_local_label (label_bind->label, label_bind->prev_value);
 
   /* There may be OVERLOADs (wrapped in TREE_LISTs) on the BLOCK_VARs
@@ -2712,7 +2709,7 @@ check_goto (tree decl)
       identified = true;
     }
 
-  for (ix = 0; VEC_iterate (tree, ent->bad_decls, ix, bad); ix++)
+  FOR_EACH_VEC_ELT (tree, ent->bad_decls, ix, bad)
     {
       int u = decl_jump_unsafe (bad);
 
@@ -4598,9 +4595,7 @@ maybe_deduce_size_from_array_init (tree decl, tree init)
          VEC(constructor_elt,gc) *v = CONSTRUCTOR_ELTS (initializer);
          constructor_elt *ce;
          HOST_WIDE_INT i;
-         for (i = 0; 
-              VEC_iterate (constructor_elt, v, i, ce);
-              ++i) 
+         FOR_EACH_VEC_ELT (constructor_elt, v, i, ce)
            if (!check_array_designated_initializer (ce))
              failure = 1;
        }
@@ -12837,7 +12832,7 @@ finish_function (int flags)
       unsigned int i;
       tree decl;
 
-      for (i = 0; VEC_iterate (tree, deferred_mark_used_calls, i, decl); i++)
+      FOR_EACH_VEC_ELT (tree, deferred_mark_used_calls, i, decl)
        mark_used (decl);
       VEC_free (tree, gc, deferred_mark_used_calls);
     }
index fed3452..f233055 100644 (file)
@@ -3300,7 +3300,7 @@ generate_ctor_or_dtor_function (bool constructor_p, int priority,
 
   /* Call the static storage duration function with appropriate
      arguments.  */
-  for (i = 0; VEC_iterate (tree, ssdf_decls, i, fndecl); ++i)
+  FOR_EACH_VEC_ELT (tree, ssdf_decls, i, fndecl)
     {
       /* Calls to pure or const functions will expand to nothing.  */
       if (! (flags_from_decl_or_type (fndecl) & (ECF_CONST | ECF_PURE)))
@@ -3742,7 +3742,7 @@ cp_write_global_declarations (void)
       /* Go through the set of inline functions whose bodies have not
         been emitted yet.  If out-of-line copies of these functions
         are required, emit them.  */
-      for (i = 0; VEC_iterate (tree, deferred_fns, i, decl); ++i)
+      FOR_EACH_VEC_ELT (tree, deferred_fns, i, decl)
        {
          /* Does it need synthesizing?  */
          if (DECL_DEFAULTED_FN (decl) && ! DECL_INITIAL (decl)
@@ -3844,7 +3844,7 @@ cp_write_global_declarations (void)
        reconsider = true;
 
       /* Static data members are just like namespace-scope globals.  */
-      for (i = 0; VEC_iterate (tree, pending_statics, i, decl); ++i)
+      FOR_EACH_VEC_ELT (tree, pending_statics, i, decl)
        {
          if (var_finalized_p (decl) || DECL_REALLY_EXTERN (decl)
              /* Don't write it out if we haven't seen a definition.  */
@@ -3866,7 +3866,7 @@ cp_write_global_declarations (void)
   while (reconsider);
 
   /* All used inline functions must have a definition at this point.  */
-  for (i = 0; VEC_iterate (tree, deferred_fns, i, decl); ++i)
+  FOR_EACH_VEC_ELT (tree, deferred_fns, i, decl)
     {
       if (/* Check online inline functions that were actually used.  */
          DECL_ODR_USED (decl) && DECL_DECLARED_INLINE_P (decl)
@@ -3888,7 +3888,7 @@ cp_write_global_declarations (void)
     }
 
   /* So must decls that use a type with no linkage.  */
-  for (i = 0; VEC_iterate (tree, no_linkage_decls, i, decl); ++i)
+  FOR_EACH_VEC_ELT (tree, no_linkage_decls, i, decl)
     if (!decl_defined_p (decl))
       no_linkage_error (decl);
 
index cff822a..2bcc35b 100644 (file)
@@ -304,7 +304,7 @@ dump_template_bindings (tree parms, tree args, VEC(tree,gc)* typenames)
       parms = TREE_CHAIN (parms);
     }
 
-  for (i = 0; VEC_iterate (tree, typenames, i, t); ++i)
+  FOR_EACH_VEC_ELT (tree, typenames, i, t)
     {
       if (need_comma)
        pp_separate_with_comma (cxx_pp);
index 20b44e3..351e685 100644 (file)
@@ -1104,9 +1104,7 @@ perform_deferred_noexcept_checks (void)
   int i;
   pending_noexcept *p;
   location_t saved_loc = input_location;
-  for (i = 0;
-       VEC_iterate (pending_noexcept, pending_noexcept_checks, i, p);
-       ++i)
+  FOR_EACH_VEC_ELT (pending_noexcept, pending_noexcept_checks, i, p)
     {
       input_location = p->loc;
       maybe_noexcept_warning (p->fn);
index a47dfa8..03e2837 100644 (file)
@@ -307,7 +307,7 @@ dump_substitution_candidates (void)
   tree el;
 
   fprintf (stderr, "  ++ substitutions  ");
-  for (i = 0; VEC_iterate (tree, G.substitutions, i, el); ++i)
+  FOR_EACH_VEC_ELT (tree, G.substitutions, i, el)
     {
       const char *name = "???";
 
@@ -387,7 +387,7 @@ add_substitution (tree node)
     int i;
     tree candidate;
 
-    for (i = 0; VEC_iterate (tree, G.substitutions, i, candidate); i++)
+    FOR_EACH_VEC_ELT (tree, G.substitutions, i, candidate)
       {
        gcc_assert (!(DECL_P (node) && node == candidate));
        gcc_assert (!(TYPE_P (node) && TYPE_P (candidate)
index b9511f5..359e71d 100644 (file)
@@ -1204,7 +1204,7 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p,
       if (diag)
        msg = ("virtual base %qT does not have a move constructor "
               "or trivial copy constructor");
-      for (i = 0; VEC_iterate (tree, vbases, i, base_binfo); ++i)
+      FOR_EACH_VEC_ELT (tree, vbases, i, base_binfo)
        {
          if (copy_arg_p)
            argtype = build_stub_type (BINFO_TYPE (base_binfo), quals, move_p);
index 800e340..af6cef4 100644 (file)
@@ -327,9 +327,7 @@ new_class_binding (tree name, tree value, tree type, cxx_scope *scope)
          /* Fixup the current bindings, as they might have moved.  */
          size_t i;
 
-         for (i = 0;
-              VEC_iterate (cp_class_binding, scope->class_shadowed, i, cb);
-              i++)
+         FOR_EACH_VEC_ELT (cp_class_binding, scope->class_shadowed, i, cb)
            {
              cxx_binding **b;
              b = &IDENTIFIER_BINDING (cb->identifier);
@@ -1687,9 +1685,7 @@ print_binding_level (struct cp_binding_level* lvl)
       size_t i;
       cp_class_binding *b;
       fprintf (stderr, " class-shadowed:");
-      for (i = 0;
-          VEC_iterate(cp_class_binding, lvl->class_shadowed, i, b);
-          ++i)
+      FOR_EACH_VEC_ELT (cp_class_binding, lvl->class_shadowed, i, b)
        fprintf (stderr, " %s ", IDENTIFIER_POINTER (b->identifier));
       fprintf (stderr, "\n");
     }
@@ -2644,9 +2640,7 @@ poplevel_class (void)
   /* Remove the bindings for all of the class-level declarations.  */
   if (level->class_shadowed)
     {
-      for (i = 0;
-          VEC_iterate (cp_class_binding, level->class_shadowed, i, cb);
-          ++i)
+      FOR_EACH_VEC_ELT (cp_class_binding, level->class_shadowed, i, cb)
        IDENTIFIER_BINDING (cb->identifier) = cb->base.previous;
       ggc_free (level->class_shadowed);
       level->class_shadowed = NULL;
@@ -4048,7 +4042,7 @@ tree_vec_contains (VEC(tree,gc)* vec, tree target)
 {
   unsigned int i;
   tree elt;
-  for (i = 0; VEC_iterate(tree,vec,i,elt); ++i)
+  FOR_EACH_VEC_ELT (tree,vec,i,elt)
     if (elt == target)
       return true;
   return false;
@@ -5001,7 +4995,7 @@ arg_assoc_args_vec (struct arg_lookup *k, VEC(tree,gc) *args)
   unsigned int ix;
   tree arg;
 
-  for (ix = 0; VEC_iterate (tree, args, ix, arg); ++ix)
+  FOR_EACH_VEC_ELT (tree, args, ix, arg)
     if (arg_assoc (k, arg))
       return true;
   return false;
@@ -5484,7 +5478,7 @@ push_to_top_level (void)
        SET_IDENTIFIER_TYPE_VALUE (TREE_PURPOSE (t), TREE_VALUE (t));
     }
 
-  for (i = 0; VEC_iterate (cxx_saved_binding, s->old_bindings, i, sb); ++i)
+  FOR_EACH_VEC_ELT (cxx_saved_binding, s->old_bindings, i, sb)
     IDENTIFIER_MARKED (sb->identifier) = 0;
 
   s->prev = scope_chain;
@@ -5521,7 +5515,7 @@ pop_from_top_level (void)
   current_lang_base = 0;
 
   scope_chain = s->prev;
-  for (i = 0; VEC_iterate (cxx_saved_binding, s->old_bindings, i, saved); ++i)
+  FOR_EACH_VEC_ELT (cxx_saved_binding, s->old_bindings, i, saved)
     {
       tree id = saved->identifier;
 
index dd6f04c..6c4fe1d 100644 (file)
@@ -11187,14 +11187,10 @@ cp_parser_template_id (cp_parser *parser,
       access_check = check_value->checks;
       if (access_check)
        {
-         for (i = 0 ;
-              VEC_iterate (deferred_access_check, access_check, i, chk) ;
-              ++i)
-           {
-             perform_or_defer_access_check (chk->binfo,
-                                            chk->decl,
-                                            chk->diag_decl);
-           }
+         FOR_EACH_VEC_ELT (deferred_access_check, access_check, i, chk)
+           perform_or_defer_access_check (chk->binfo,
+                                          chk->decl,
+                                          chk->diag_decl);
        }
       /* Return the stored value.  */
       return check_value->value;
@@ -16319,10 +16315,8 @@ cp_parser_class_specifier (cp_parser* parser)
            };
 
         */
-      for (ix = 0;
-          VEC_iterate (cp_default_arg_entry, unparsed_funs_with_default_args,
-                       ix, e);
-          ix++)
+      FOR_EACH_VEC_ELT (cp_default_arg_entry, unparsed_funs_with_default_args,
+                       ix, e)
        {
          fn = e->decl;
          /* If there are default arguments that have not yet been processed,
@@ -16345,9 +16339,7 @@ cp_parser_class_specifier (cp_parser* parser)
        pop_scope (pushed_scope);
       VEC_truncate (cp_default_arg_entry, unparsed_funs_with_default_args, 0);
       /* Now parse the body of the functions.  */
-      for (ix = 0;
-          VEC_iterate (tree, unparsed_funs_with_definitions, ix, fn);
-          ix++)
+      FOR_EACH_VEC_ELT (tree, unparsed_funs_with_definitions, ix, fn)
        cp_parser_late_parsing_for_member (parser, fn);
       VEC_truncate (tree, unparsed_funs_with_definitions, 0);
     }
@@ -20469,14 +20461,10 @@ cp_parser_pre_parsed_nested_name_specifier (cp_parser *parser)
   checks = check_value->checks;
   if (checks)
     {
-      for (i = 0 ;
-          VEC_iterate (deferred_access_check, checks, i, chk) ;
-          ++i)
-       {
-         perform_or_defer_access_check (chk->binfo,
-                                        chk->decl,
-                                        chk->diag_decl);
-       }
+      FOR_EACH_VEC_ELT (deferred_access_check, checks, i, chk)
+       perform_or_defer_access_check (chk->binfo,
+                                      chk->decl,
+                                      chk->diag_decl);
     }
   /* Set the scope from the stored value.  */
   parser->scope = check_value->value;
index 02c54f9..759e22f 100644 (file)
@@ -7735,11 +7735,9 @@ perform_typedefs_access_check (tree tmpl, tree targs)
     return;
 
   saved_location = input_location;
-  for (i = 0;
-       VEC_iterate (qualified_typedef_usage_t,
+  FOR_EACH_VEC_ELT (qualified_typedef_usage_t,
                    get_types_needing_access_check (tmpl),
-                   i, iter);
-       ++i)
+                   i, iter)
     {
       tree type_decl = iter->typedef_decl;
       tree type_scope = iter->context;
@@ -12799,7 +12797,7 @@ tsubst_copy_and_build (tree t,
 
        n = VEC_copy (constructor_elt, gc, CONSTRUCTOR_ELTS (t));
         newlen = VEC_length (constructor_elt, n);
-       for (idx = 0; VEC_iterate (constructor_elt, n, idx, ce); idx++)
+       FOR_EACH_VEC_ELT (constructor_elt, n, idx, ce)
          {
            if (ce->index && process_index_p)
              ce->index = RECUR (ce->index);
@@ -12833,8 +12831,7 @@ tsubst_copy_and_build (tree t,
             VEC(constructor_elt,gc) *old_n = n;
 
             n = VEC_alloc (constructor_elt, gc, newlen);
-            for (idx = 0; VEC_iterate (constructor_elt, old_n, idx, ce); 
-                 idx++)
+            FOR_EACH_VEC_ELT (constructor_elt, old_n, idx, ce)
               {
                 if (TREE_CODE (ce->value) == TREE_VEC)
                   {
@@ -17923,7 +17920,7 @@ any_type_dependent_arguments_p (const VEC(tree,gc) *args)
   unsigned int i;
   tree arg;
 
-  for (i = 0; VEC_iterate (tree, args, i, arg); ++i)
+  FOR_EACH_VEC_ELT (tree, args, i, arg)
     {
       if (type_dependent_expression_p (arg))
        return true;
@@ -18359,7 +18356,7 @@ make_args_non_dependent (VEC(tree,gc) *args)
   unsigned int ix;
   tree arg;
 
-  for (ix = 0; VEC_iterate (tree, args, ix, arg); ++ix)
+  FOR_EACH_VEC_ELT (tree, args, ix, arg)
     {
       tree newarg = build_non_dependent_expr (arg);
       if (newarg != arg)
@@ -18662,11 +18659,9 @@ append_type_to_template_for_access_check (tree templ,
   gcc_assert (type_decl && (TREE_CODE (type_decl) == TYPE_DECL));
 
   /* Make sure we don't append the type to the template twice.  */
-  for (i = 0;
-       VEC_iterate (qualified_typedef_usage_t,
+  FOR_EACH_VEC_ELT (qualified_typedef_usage_t,
                    get_types_needing_access_check (templ),
-                   i, iter);
-       ++i)
+                   i, iter)
     if (iter->typedef_decl == type_decl && scope == iter->context)
       return;
 
index 2a08c8f..22d58af 100644 (file)
@@ -267,9 +267,7 @@ finish_repo (void)
       fprintf (repo_file, "\n");
     }
 
-  for (ix = VEC_length (tree, pending_repo) - 1;
-       VEC_iterate (tree, pending_repo, ix, val);
-       ix--)
+  FOR_EACH_VEC_ELT_REVERSE (tree, pending_repo, ix, val)
     {
       tree name = DECL_ASSEMBLER_NAME (val);
       char type = IDENTIFIER_REPO_CHOSEN (name) ? 'C' : 'O';
index 949e108..0afa8f9 100644 (file)
@@ -232,14 +232,10 @@ pop_to_parent_deferring_access_checks (void)
          int i, j;
          deferred_access_check *chk, *probe;
 
-         for (i = 0 ;
-              VEC_iterate (deferred_access_check, checks, i, chk) ;
-              ++i)
+         FOR_EACH_VEC_ELT (deferred_access_check, checks, i, chk)
            {
-             for (j = 0 ;
-                  VEC_iterate (deferred_access_check,
-                               ptr->deferred_access_checks, j, probe) ;
-                  ++j)
+             FOR_EACH_VEC_ELT (deferred_access_check,
+                               ptr->deferred_access_checks, j, probe)
                {
                  if (probe->binfo == chk->binfo &&
                      probe->decl == chk->decl &&
@@ -268,7 +264,7 @@ perform_access_checks (VEC (deferred_access_check,gc)* checks)
   if (!checks)
     return;
 
-  for (i = 0 ; VEC_iterate (deferred_access_check, checks, i, chk) ; ++i)
+  FOR_EACH_VEC_ELT (deferred_access_check, checks, i, chk)
     enforce_access (chk->binfo, chk->decl, chk->diag_decl);
 }
 
@@ -323,10 +319,8 @@ perform_or_defer_access_check (tree binfo, tree decl, tree diag_decl)
     }
 
   /* See if we are already going to perform this check.  */
-  for (i = 0 ;
-       VEC_iterate (deferred_access_check,
-                   ptr->deferred_access_checks, i, chk) ;
-       ++i)
+  FOR_EACH_VEC_ELT  (deferred_access_check,
+                    ptr->deferred_access_checks, i, chk)
     {
       if (chk->decl == decl && chk->binfo == binfo &&
          chk->diag_decl == diag_decl)
index 59b9c40..b9c027a 100644 (file)
@@ -412,7 +412,7 @@ abstract_virtuals_error (tree decl, tree type)
              "  because the following virtual functions are pure within %qT:",
              type);
 
-      for (ix = 0; VEC_iterate (tree, pure, ix, fn); ix++)
+      FOR_EACH_VEC_ELT (tree, pure, ix, fn)
        inform (input_location, "\t%+#D", fn);
       /* Now truncate the vector.  This leaves it non-null, so we know
         there are pure virtuals, but empty so we don't list them out
@@ -1035,7 +1035,7 @@ process_init_constructor_array (tree type, tree init)
   if (!unbounded && VEC_length (constructor_elt, v)  > len)
     error ("too many initializers for %qT", type);
 
-  for (i = 0; VEC_iterate (constructor_elt, v, i, ce); ++i)
+  FOR_EACH_VEC_ELT (constructor_elt, v, i, ce)
     {
       if (ce->index)
        {
index 2de3fcb..d43a4bf 100644 (file)
@@ -2504,7 +2504,7 @@ output_used_types (void)
       qsort (VEC_address (tree, types), VEC_length (tree, types),
             sizeof (tree), output_types_sort);
 
-      for (i = 0; VEC_iterate (tree, types, i, type); i++)
+      FOR_EACH_VEC_ELT (tree, types, i, type)
        debug_queue_symbol (type);
 
       VEC_free (tree, heap, types);
index 8b17ae2..ddd2387 100644 (file)
@@ -1180,15 +1180,13 @@ df_free_collection_rec (struct df_collection_rec *collection_rec)
   df_ref ref;
   struct df_mw_hardreg *mw;
 
-  for (ix = 0; VEC_iterate (df_ref, collection_rec->def_vec, ix, ref); ++ix)
+  FOR_EACH_VEC_ELT (df_ref, collection_rec->def_vec, ix, ref)
     df_free_ref (ref);
-  for (ix = 0; VEC_iterate (df_ref, collection_rec->use_vec, ix, ref); ++ix)
+  FOR_EACH_VEC_ELT (df_ref, collection_rec->use_vec, ix, ref)
     df_free_ref (ref);
-  for (ix = 0; VEC_iterate (df_ref, collection_rec->eq_use_vec, ix, ref); ++ix)
+  FOR_EACH_VEC_ELT (df_ref, collection_rec->eq_use_vec, ix, ref)
     df_free_ref (ref);
-  for (ix = 0;
-       VEC_iterate (df_mw_hardreg_ptr, collection_rec->mw_vec, ix, mw);
-       ++ix)
+  FOR_EACH_VEC_ELT (df_mw_hardreg_ptr, collection_rec->mw_vec, ix, mw)
     pool_free (problem_data->mw_reg_pool, mw);
 
   VEC_free (df_ref, stack, collection_rec->def_vec);
@@ -2664,7 +2662,7 @@ df_install_refs (basic_block bb,
       if (add_to_table && df->analyze_subset)
        add_to_table = bitmap_bit_p (df->blocks_to_analyze, bb->index);
 
-      for (ix = 0; VEC_iterate (df_ref, old_vec, ix, this_ref); ++ix)
+      FOR_EACH_VEC_ELT (df_ref, old_vec, ix, this_ref)
        {
          new_vec[ix] = this_ref;
          df_install_ref (this_ref, reg_info[DF_REF_REGNO (this_ref)],
@@ -3398,7 +3396,7 @@ df_get_conditional_uses (struct df_collection_rec *collection_rec)
   unsigned int ix;
   df_ref ref;
 
-  for (ix = 0; VEC_iterate (df_ref, collection_rec->def_vec, ix, ref); ++ix)
+  FOR_EACH_VEC_ELT (df_ref, collection_rec->def_vec, ix, ref)
     {
       if (DF_REF_FLAGS_IS_SET (ref, DF_REF_CONDITIONAL))
         {
@@ -3446,7 +3444,7 @@ df_get_call_refs (struct df_collection_rec * collection_rec,
   /* Do not generate clobbers for registers that are the result of the
      call.  This causes ordering problems in the chain building code
      depending on which def is seen first.  */
-  for (i = 0; VEC_iterate (df_ref, collection_rec->def_vec, i, def); ++i)
+  FOR_EACH_VEC_ELT (df_ref, collection_rec->def_vec, i, def)
     bitmap_set_bit (&defs_generated, DF_REF_REGNO (def));
 
   /* Record the registers used to pass arguments, and explicitly
@@ -4382,7 +4380,7 @@ df_refs_verify (VEC(df_ref,stack) *new_rec, df_ref *old_rec,
   unsigned int ix;
   df_ref new_ref;
 
-  for (ix = 0; VEC_iterate (df_ref, new_rec, ix, new_ref); ++ix)
+  FOR_EACH_VEC_ELT (df_ref, new_rec, ix, new_ref)
     {
       if (*old_rec == NULL || !df_ref_equal_p (new_ref, *old_rec))
        {
@@ -4421,7 +4419,7 @@ df_mws_verify (VEC(df_mw_hardreg_ptr,stack) *new_rec,
   unsigned int ix;
   struct df_mw_hardreg *new_reg;
 
-  for (ix = 0; VEC_iterate (df_mw_hardreg_ptr, new_rec, ix, new_reg); ++ix)
+  FOR_EACH_VEC_ELT (df_mw_hardreg_ptr, new_rec, ix, new_reg)
     {
       if (*old_rec == NULL || !df_mw_equal_p (new_reg, *old_rec))
        {
index 7507de3..b0b97c6 100644 (file)
@@ -1198,7 +1198,7 @@ determine_dominators_for_sons (struct graph *g, VEC (basic_block, heap) *bbs,
   for (i = nc - 1; i >= 0; i--)
     {
       dom = NULL;
-      for (si = 0; VEC_iterate (int, sccs[i], si, a); si++)
+      FOR_EACH_VEC_ELT (int, sccs[i], si, a)
        {
          bb = VEC_index (basic_block, bbs, a);
          FOR_EACH_EDGE (e, ei, bb->preds)
@@ -1211,7 +1211,7 @@ determine_dominators_for_sons (struct graph *g, VEC (basic_block, heap) *bbs,
        }
 
       gcc_assert (dom != NULL);
-      for (si = 0; VEC_iterate (int, sccs[i], si, a); si++)
+      FOR_EACH_VEC_ELT (int, sccs[i], si, a)
        {
          bb = VEC_index (basic_block, bbs, a);
          set_immediate_dominator (CDI_DOMINATORS, bb, dom);
@@ -1314,7 +1314,7 @@ iterate_fix_dominators (enum cdi_direction dir, VEC (basic_block, heap) *bbs,
         conservatively correct, setting the dominators using the
         heuristics in prune_bbs_to_update_dominators could
         create cycles in the dominance "tree", and cause ICE.  */
-      for (i = 0; VEC_iterate (basic_block, bbs, i, bb); i++)
+      FOR_EACH_VEC_ELT (basic_block, bbs, i, bb)
        set_immediate_dominator (CDI_DOMINATORS, bb, NULL);
     }
 
@@ -1334,7 +1334,7 @@ iterate_fix_dominators (enum cdi_direction dir, VEC (basic_block, heap) *bbs,
 
   /* Construct the graph G.  */
   map = pointer_map_create ();
-  for (i = 0; VEC_iterate (basic_block, bbs, i, bb); i++)
+  FOR_EACH_VEC_ELT (basic_block, bbs, i, bb)
     {
       /* If the dominance tree is conservatively correct, split it now.  */
       if (conservative)
@@ -1346,7 +1346,7 @@ iterate_fix_dominators (enum cdi_direction dir, VEC (basic_block, heap) *bbs,
   g = new_graph (n + 1);
   for (y = 0; y < g->n_vertices; y++)
     g->vertices[y].data = BITMAP_ALLOC (NULL);
-  for (i = 0; VEC_iterate (basic_block, bbs, i, bb); i++)
+  FOR_EACH_VEC_ELT (basic_block, bbs, i, bb)
     {
       FOR_EACH_EDGE (e, ei, bb->preds)
        {
index 77c5511..5dd7bd6 100644 (file)
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -2772,7 +2772,7 @@ dse_step2_init (void)
   unsigned int i;
   group_info_t group;
 
-  for (i = 0; VEC_iterate (group_info_t, rtx_group_vec, i, group); i++)
+  FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, i, group)
     {
       /* For all non stack related bases, we only consider a store to
         be deletable if there are two or more stores for that
@@ -2824,7 +2824,7 @@ dse_step2_nospill (void)
      unused.  */
   current_position = 1;
 
-  for (i = 0; VEC_iterate (group_info_t, rtx_group_vec, i, group); i++)
+  FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, i, group)
     {
       bitmap_iterator bi;
       unsigned int j;
@@ -3067,7 +3067,7 @@ scan_reads_nospill (insn_info_t insn_info, bitmap gen, bitmap kill)
   /* If this insn reads the frame, kill all the frame related stores.  */
   if (insn_info->frame_read)
     {
-      for (i = 0; VEC_iterate (group_info_t, rtx_group_vec, i, group); i++)
+      FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, i, group)
        if (group->process_globally && group->frame_related)
          {
            if (kill)
@@ -3078,7 +3078,7 @@ scan_reads_nospill (insn_info_t insn_info, bitmap gen, bitmap kill)
 
   while (read_info)
     {
-      for (i = 0; VEC_iterate (group_info_t, rtx_group_vec, i, group); i++)
+      FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, i, group)
        {
          if (group->process_globally)
            {
@@ -3259,7 +3259,7 @@ dse_step3_exit_block_scan (bb_info_t bb_info)
       unsigned int i;
       group_info_t group;
 
-      for (i = 0; VEC_iterate (group_info_t, rtx_group_vec, i, group); i++)
+      FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, i, group)
        {
          if (group->process_globally && group->frame_related)
            bitmap_ior_into (bb_info->gen, group->group_kill);
@@ -3341,7 +3341,7 @@ dse_step3 (bool for_spills)
              group_info_t group;
 
              all_ones = BITMAP_ALLOC (NULL);
-             for (j = 0; VEC_iterate (group_info_t, rtx_group_vec, j, group); j++)
+             FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, j, group)
                bitmap_ior_into (all_ones, group->group_kill);
            }
          if (!bb_info->out)
@@ -3743,7 +3743,7 @@ dse_step7 (bool global_done)
   group_info_t group;
   basic_block bb;
 
-  for (i = 0; VEC_iterate (group_info_t, rtx_group_vec, i, group); i++)
+  FOR_EACH_VEC_ELT (group_info_t, rtx_group_vec, i, group)
     {
       free (group->offset_map_n);
       free (group->offset_map_p);
index 4b4042a..d63aec5 100644 (file)
@@ -7560,7 +7560,7 @@ get_AT (dw_die_ref die, enum dwarf_attribute attr_kind)
   if (! die)
     return NULL;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (a->dw_attr == attr_kind)
       return a;
     else if (a->dw_attr == DW_AT_specification
@@ -7689,7 +7689,7 @@ remove_AT (dw_die_ref die, enum dwarf_attribute attr_kind)
   if (! die)
     return;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (a->dw_attr == attr_kind)
       {
        if (AT_class (a) == dw_val_class_str)
@@ -8277,7 +8277,7 @@ print_die (dw_die_ref die, FILE *outfile)
       fprintf (outfile, "\n");
     }
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       print_spaces (outfile);
       fprintf (outfile, "  %s: ", dwarf_attr_name (a->dw_attr));
@@ -8556,7 +8556,7 @@ die_checksum (dw_die_ref die, struct md5_ctx *ctx, int *mark)
 
   CHECKSUM (die->die_tag);
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     attr_checksum (a, ctx, mark);
 
   FOR_EACH_CHILD (die, c, die_checksum (c, ctx, mark));
@@ -8869,7 +8869,7 @@ collect_checksum_attributes (struct checksum_attributes *attrs, dw_die_ref die)
   dw_attr_ref a;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       switch (a->dw_attr)
         {
@@ -9303,7 +9303,7 @@ same_die_p (dw_die_ref die1, dw_die_ref die2, int *mark)
       != VEC_length (dw_attr_node, die2->die_attr))
     return 0;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die1->die_attr, ix, a1); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die1->die_attr, ix, a1)
     if (!same_attr_p (a1, VEC_index (dw_attr_node, die2->die_attr, ix), mark))
       return 0;
 
@@ -9664,7 +9664,7 @@ is_declaration_die (dw_die_ref die)
   dw_attr_ref a;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (a->dw_attr == DW_AT_declaration)
       return 1;
 
@@ -9735,7 +9735,7 @@ clone_die (dw_die_ref die)
   clone = ggc_alloc_cleared_die_node ();
   clone->die_tag = die->die_tag;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     add_dwarf_attr (clone, a);
 
   return clone;
@@ -9776,7 +9776,7 @@ clone_as_declaration (dw_die_ref die)
   clone = ggc_alloc_cleared_die_node ();
   clone->die_tag = die->die_tag;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       /* We don't want to copy over all attributes.
          For example we don't want DW_AT_byte_size because otherwise we will no
@@ -9833,7 +9833,7 @@ copy_declaration_context (dw_die_ref unit, dw_die_ref die)
 
       remove_AT (die, DW_AT_specification);
 
-      for (ix = 0; VEC_iterate (dw_attr_node, decl->die_attr, ix, a); ix++)
+      FOR_EACH_VEC_ELT (dw_attr_node, decl->die_attr, ix, a)
         {
           if (a->dw_attr != DW_AT_name
               && a->dw_attr != DW_AT_declaration
@@ -10129,7 +10129,7 @@ copy_decls_walk (dw_die_ref unit, dw_die_ref die, htab_t decl_table)
   dw_attr_ref a;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       if (AT_class (a) == dw_val_class_die_ref)
         {
@@ -10248,7 +10248,7 @@ output_location_lists (dw_die_ref die)
   dw_attr_ref a;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (AT_class (a) == dw_val_class_loc_list)
       output_loc_list (AT_loc_list (a));
 
@@ -10271,7 +10271,7 @@ build_abbrev_table (dw_die_ref die)
 
   /* Scan the DIE references, and mark as external any that refer to
      DIEs from other CUs (i.e. those which are not marked).  */
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (AT_class (a) == dw_val_class_die_ref
        && AT_ref (a)->die_mark == 0)
       {
@@ -10295,7 +10295,7 @@ build_abbrev_table (dw_die_ref die)
          != VEC_length (dw_attr_node, die->die_attr))
        continue;
 
-      for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, die_a); ix++)
+      FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, die_a)
        {
          abbrev_a = VEC_index (dw_attr_node, abbrev->die_attr, ix);
          if ((abbrev_a->dw_attr != die_a->dw_attr)
@@ -10359,7 +10359,7 @@ size_of_die (dw_die_ref die)
   unsigned ix;
 
   size += size_of_uleb128 (die->die_abbrev);
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       switch (AT_class (a))
        {
@@ -10531,7 +10531,7 @@ unmark_all_dies (dw_die_ref die)
 
   FOR_EACH_CHILD (die, c, unmark_all_dies (c));
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (AT_class (a) == dw_val_class_die_ref)
       unmark_all_dies (AT_ref (a));
 }
@@ -10547,7 +10547,7 @@ size_of_pubnames (VEC (pubname_entry, gc) * names)
   pubname_ref p;
 
   size = DWARF_PUBNAMES_HEADER_SIZE;
-  for (i = 0; VEC_iterate (pubname_entry, names, i, p); i++)
+  FOR_EACH_VEC_ELT (pubname_entry, names, i, p)
     if (names != pubtype_table
        || p->die->die_offset != 0
        || !flag_eliminate_unused_debug_types)
@@ -10905,7 +10905,7 @@ output_die (dw_die_ref die)
                               (unsigned long)die->die_offset,
                               dwarf_tag_name (die->die_tag));
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       const char *name = dwarf_attr_name (a->dw_attr);
 
@@ -11371,7 +11371,7 @@ output_pubnames (VEC (pubname_entry, gc) * names)
   dw2_asm_output_data (DWARF_OFFSET_SIZE, next_die_offset,
                       "Compilation Unit Length");
 
-  for (i = 0; VEC_iterate (pubname_entry, names, i, pub); i++)
+  FOR_EACH_VEC_ELT (pubname_entry, names, i, pub)
     {
       /* We shouldn't see pubnames for DIEs outside of the main CU.  */
       if (names == pubname_table)
@@ -12318,7 +12318,7 @@ size_of_dcall_table (void)
   size = 2 + DWARF_OFFSET_SIZE + 1;
 
   /* Each entry:  code label + DIE offset.  */
-  for (i = 0; VEC_iterate (dcall_entry, dcall_table, i, p); i++)
+  FOR_EACH_VEC_ELT (dcall_entry, dcall_table, i, p)
     {
       gcc_assert (p->targ_die != NULL);
       /* Insert a "from" entry when the point-of-call DIE offset changes.  */
@@ -12360,7 +12360,7 @@ output_dcall_table (void)
                         "Offset of Compilation Unit Info");
   dw2_asm_output_data (1, DWARF2_ADDR_SIZE, "Pointer Size (in bytes)");
 
-  for (i = 0; VEC_iterate (dcall_entry, dcall_table, i, p); i++)
+  FOR_EACH_VEC_ELT (dcall_entry, dcall_table, i, p)
     {
       /* Insert a "from" entry when the point-of-call DIE offset changes.  */
       if (p->poc_decl != last_poc_decl)
@@ -12394,7 +12394,7 @@ size_of_vcall_table (void)
   size = 2 + 1;
 
   /* Each entry:  code label + vtable slot index.  */
-  for (i = 0; VEC_iterate (vcall_entry, vcall_table, i, p); i++)
+  FOR_EACH_VEC_ELT (vcall_entry, vcall_table, i, p)
     size += DWARF_OFFSET_SIZE + size_of_uleb128 (p->vtable_slot);
 
   return size;
@@ -12419,7 +12419,7 @@ output_vcall_table (void)
   dw2_asm_output_data (2, 4, "Version number");
   dw2_asm_output_data (1, DWARF2_ADDR_SIZE, "Pointer Size (in bytes)");
 
-  for (i = 0; VEC_iterate (vcall_entry, vcall_table, i, p); i++)
+  FOR_EACH_VEC_ELT (vcall_entry, vcall_table, i, p)
     {
       ASM_GENERATE_INTERNAL_LABEL (poc_label, "LPOC", p->poc_label_num);
       dw2_asm_output_addr (DWARF_OFFSET_SIZE, poc_label, "Point of call");
@@ -16713,9 +16713,7 @@ native_encode_initializer (tree init, unsigned char *array, int size)
 
          min_index = tree_low_cst (TYPE_MIN_VALUE (TYPE_DOMAIN (type)), 0);
          memset (array, '\0', size);
-         for (cnt = 0;
-              VEC_iterate (constructor_elt, CONSTRUCTOR_ELTS (init), cnt, ce);
-              cnt++)
+         FOR_EACH_VEC_ELT (constructor_elt, CONSTRUCTOR_ELTS (init), cnt, ce)
            {
              tree val = ce->value;
              tree index = ce->index;
@@ -16761,9 +16759,7 @@ native_encode_initializer (tree init, unsigned char *array, int size)
          if (TREE_CODE (type) == RECORD_TYPE)
            field = TYPE_FIELDS (type);
 
-         for (cnt = 0;
-              VEC_iterate (constructor_elt, CONSTRUCTOR_ELTS (init), cnt, ce);
-              cnt++, field = field ? DECL_CHAIN (field) : 0)
+         FOR_EACH_VEC_ELT (constructor_elt, CONSTRUCTOR_ELTS (init), cnt, ce)
            {
              tree val = ce->value;
              int pos, fieldsize;
@@ -21121,9 +21117,7 @@ gen_remaining_tmpl_value_param_die_attribute (void)
       unsigned i;
       die_arg_entry *e;
 
-      for (i = 0;
-           VEC_iterate (die_arg_entry, tmpl_value_parm_die_table, i, e);
-           i++)
+      FOR_EACH_VEC_ELT (die_arg_entry, tmpl_value_parm_die_table, i, e)
        tree_add_const_value_attribute (e->die, e->arg);
     }
 }
@@ -21733,7 +21727,7 @@ prune_unused_types_walk_attribs (dw_die_ref die)
   dw_attr_ref a;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     {
       if (a->dw_attr_val.val_class == dw_val_class_die_ref)
        {
@@ -21918,7 +21912,7 @@ prune_unused_types_update_strings (dw_die_ref die)
   dw_attr_ref a;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     if (AT_class (a) == dw_val_class_str)
       {
        struct indirect_string_node *s = a->dw_attr_val.v.val_str;
@@ -22025,13 +22019,13 @@ prune_unused_types (void)
 
   /* Also set the mark on nodes referenced from the
      pubname_table or arange_table.  */
-  for (i = 0; VEC_iterate (pubname_entry, pubname_table, i, pub); i++)
+  FOR_EACH_VEC_ELT (pubname_entry, pubname_table, i, pub)
     prune_unused_types_mark (pub->die, 1);
   for (i = 0; i < arange_table_in_use; i++)
     prune_unused_types_mark (arange_table[i], 1);
 
   /* Mark nodes referenced from the direct call table.  */
-  for (i = 0; VEC_iterate (dcall_entry, dcall_table, i, dcall); i++)
+  FOR_EACH_VEC_ELT (dcall_entry, dcall_table, i, dcall)
     prune_unused_types_mark (dcall->targ_die, 1);
 
   /* Get rid of nodes that aren't marked; and update the string counts.  */
@@ -22190,7 +22184,7 @@ resolve_addr (dw_die_ref die)
   dw_loc_list_ref *curr;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (dw_attr_node, die->die_attr, ix, a); ix++)
+  FOR_EACH_VEC_ELT (dw_attr_node, die->die_attr, ix, a)
     switch (AT_class (a))
       {
       case dw_val_class_loc_list:
index 419936a..0df1996 100644 (file)
@@ -3057,7 +3057,7 @@ output_one_function_exception_table (const char * ARG_UNUSED (fnname),
   /* ??? Decode and interpret the data for flag_debug_asm.  */
   {
     uchar uc;
-    for (i = 0; VEC_iterate (uchar, crtl->eh.action_record_data, i, uc); ++i)
+    FOR_EACH_VEC_ELT (uchar, crtl->eh.action_record_data, i, uc)
       dw2_asm_output_data (1, uc, i ? NULL : "Action record table");
   }
 
index 2cfb5b3..5793f9d 100644 (file)
@@ -6599,9 +6599,7 @@ safe_from_p (const_rtx x, tree exp, int top_p)
          constructor_elt *ce;
          unsigned HOST_WIDE_INT idx;
 
-         for (idx = 0;
-              VEC_iterate (constructor_elt, CONSTRUCTOR_ELTS (exp), idx, ce);
-              idx++)
+         FOR_EACH_VEC_ELT (constructor_elt, CONSTRUCTOR_ELTS (exp), idx, ce)
            if ((ce->index != NULL_TREE && !safe_from_p (x, ce->index, 0))
                || !safe_from_p (x, ce->value, 0))
              return 0;
index 90d26fb..b5330ae 100644 (file)
@@ -1,3 +1,7 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * trans-openmp.c: Use FOR_EACH_VEC_ELT.
+
 2010-08-19  Daniel Kraft  <d@domob.eu>
 
        PR fortran/29785
index 4a7f70e..14e3e2f 100644 (file)
@@ -1357,7 +1357,7 @@ gfc_trans_omp_do (gfc_code *code, stmtblock_t *pblock,
 
   gfc_start_block (&body);
 
-  for (ix = 0; VEC_iterate (dovar_init, inits, ix, di); ix++)
+  FOR_EACH_VEC_ELT (dovar_init, inits, ix, di)
     gfc_add_modify (&body, di->var, di->init);
   VEC_free (dovar_init, heap, inits);
 
index 95b9577..66f9582 100644 (file)
@@ -2171,7 +2171,7 @@ split_complex_args (VEC(tree, heap) **args)
   unsigned i;
   tree p;
 
-  for (i = 0; VEC_iterate (tree, *args, i, p); ++i)
+  FOR_EACH_VEC_ELT (tree, *args, i, p)
     {
       tree type = TREE_TYPE (p);
       if (TREE_CODE (type) == COMPLEX_TYPE
@@ -3295,7 +3295,7 @@ assign_parms (tree fndecl)
   assign_parms_initialize_all (&all);
   fnargs = assign_parms_augmented_arg_list (&all);
 
-  for (i = 0; VEC_iterate (tree, fnargs, i, parm); ++i)
+  FOR_EACH_VEC_ELT (tree, fnargs, i, parm)
     {
       struct assign_parm_data_one data;
 
@@ -3523,7 +3523,7 @@ gimplify_parameters (void)
   assign_parms_initialize_all (&all);
   fnargs = assign_parms_augmented_arg_list (&all);
 
-  for (i = 0; VEC_iterate (tree, fnargs, i, parm); ++i)
+  FOR_EACH_VEC_ELT (tree, fnargs, i, parm)
     {
       struct assign_parm_data_one data;
 
index 15809aa..775c7e1 100644 (file)
@@ -4413,9 +4413,7 @@ hoist_code (void)
 
   /* Walk over each basic block looking for potentially hoistable
      expressions, nothing gets hoisted from the entry block.  */
-  for (dom_tree_walk_index = 0;
-       VEC_iterate (basic_block, dom_tree_walk, dom_tree_walk_index, bb);
-       dom_tree_walk_index++)
+  FOR_EACH_VEC_ELT (basic_block, dom_tree_walk, dom_tree_walk_index, bb)
     {
       domby = get_dominated_to_depth (CDI_DOMINATORS, bb, MAX_HOIST_DEPTH);
 
@@ -4468,7 +4466,7 @@ hoist_code (void)
              /* We've found a potentially hoistable expression, now
                 we look at every block BB dominates to see if it
                 computes the expression.  */
-             for (j = 0; VEC_iterate (basic_block, domby, j, dominated); j++)
+             FOR_EACH_VEC_ELT (basic_block, domby, j, dominated)
                {
                  int max_distance;
 
@@ -4552,9 +4550,7 @@ hoist_code (void)
 
              /* Walk through occurences of I'th expressions we want
                 to hoist to BB and make the transformations.  */
-             for (j = 0;
-                  VEC_iterate (occr_t, occrs_to_hoist, j, occr);
-                  j++)
+             FOR_EACH_VEC_ELT (occr_t, occrs_to_hoist, j, occr)
                {
                  rtx insn;
                  rtx set;
index 4fd22e2..acb3a38 100644 (file)
@@ -142,13 +142,13 @@ find_tune_attr (rtx exp)
       if (strcmp (XSTR (exp, 0), "alternative") == 0)
        return false;
 
-      for (i = 0; VEC_iterate (rtx, const_attrs, i, attr); i++)
+      FOR_EACH_VEC_ELT (rtx, const_attrs, i, attr)
        if (strcmp (XSTR (attr, 0), XSTR (exp, 0)) == 0)
          {
            unsigned int j;
            rtx resv;
 
-           for (j = 0; VEC_iterate (rtx, reservations, j, resv); j++)
+           FOR_EACH_VEC_ELT (rtx, reservations, j, resv)
              if (! check_tune_attr (XSTR (attr, 0), XEXP (resv, 2)))
                return false;
            return true;
index 982d266..cb1b645 100644 (file)
@@ -168,7 +168,7 @@ ggc_mark_roots (void)
       for (i = 0; i < rti->nelt; i++)
        (*rti->cb) (*(void **)((char *)rti->base + rti->stride * i));
 
-  for (i = 0; VEC_iterate (const_ggc_root_tab_t, extra_root_vec, i, rtp); i++)
+  FOR_EACH_VEC_ELT (const_ggc_root_tab_t, extra_root_vec, i, rtp)
     {
       for (rti = rtp; rti->base != NULL; rti++)
         for (i = 0; i < rti->nelt; i++)
@@ -183,7 +183,7 @@ ggc_mark_roots (void)
   for (ct = gt_ggc_cache_rtab; *ct; ct++)
     ggc_scan_cache_tab (*ct);
 
-  for (i = 0; VEC_iterate (const_ggc_cache_tab_t, extra_cache_vec, i, ctp); i++)
+  FOR_EACH_VEC_ELT (const_ggc_cache_tab_t, extra_cache_vec, i, ctp)
     ggc_scan_cache_tab (ctp);
 
   if (! ggc_protect_identifiers)
index 6b654be..32d07f0 100644 (file)
@@ -3328,7 +3328,7 @@ gimplify_init_ctor_preeval (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
       constructor_elt *ce;
       VEC(constructor_elt,gc) *v = CONSTRUCTOR_ELTS (*expr_p);
 
-      for (ix = 0; VEC_iterate (constructor_elt, v, ix, ce); ix++)
+      FOR_EACH_VEC_ELT (constructor_elt, v, ix, ce)
        gimplify_init_ctor_preeval (&ce->value, pre_p, post_p, data);
 
       return;
@@ -3957,7 +3957,7 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
 
        /* Vector types use CONSTRUCTOR all the way through gimple
          compilation as a general initializer.  */
-       for (ix = 0; VEC_iterate (constructor_elt, elts, ix, ce); ix++)
+       FOR_EACH_VEC_ELT (constructor_elt, elts, ix, ce)
          {
            enum gimplify_status tret;
            tret = gimplify_expr (&ce->value, pre_p, post_p, is_gimple_val,
@@ -6918,14 +6918,11 @@ gimplify_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
          if (fallback == fb_none)
            {
              unsigned HOST_WIDE_INT ix;
-             constructor_elt *ce;
+             tree val;
              tree temp = NULL_TREE;
-             for (ix = 0;
-                  VEC_iterate (constructor_elt, CONSTRUCTOR_ELTS (*expr_p),
-                               ix, ce);
-                  ix++)
-               if (TREE_SIDE_EFFECTS (ce->value))
-                 append_to_statement_list (ce->value, &temp);
+             FOR_EACH_CONSTRUCTOR_VALUE (CONSTRUCTOR_ELTS (*expr_p), ix, val)
+               if (TREE_SIDE_EFFECTS (val))
+                 append_to_statement_list (val, &temp);
 
              *expr_p = temp;
              ret = temp ? GS_OK : GS_ALL_DONE;
index deb25ec..5108ed0 100644 (file)
@@ -212,7 +212,7 @@ lst_do_strip_mine_loop (lst_p lst, int depth)
     {
       bool res = false;
 
-      for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
+      FOR_EACH_VEC_ELT (lst_p, LST_SEQ (lst), i, l)
        res |= lst_do_strip_mine_loop (l, depth);
 
       return res;
@@ -239,7 +239,7 @@ lst_do_strip_mine (lst_p lst)
       || !LST_LOOP_P (lst))
     return false;
 
-  for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
+  FOR_EACH_VEC_ELT (lst_p, LST_SEQ (lst), i, l)
     res |= lst_do_strip_mine (l);
 
   depth = lst_depth (lst);
index 138c0df..3f26ad3 100644 (file)
@@ -1224,7 +1224,7 @@ build_cloog_prog (scop_p scop, CloogProgram *prog,
   cloog_program_set_nb_scattdims (prog, nbs);
   initialize_cloog_names (scop, prog);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     {
       CloogStatement *stmt;
       CloogBlock *block;
index 3f13ac3..6296bfc 100644 (file)
@@ -585,7 +585,7 @@ reduction_dr_1 (poly_bb_p pbb1, poly_dr_p pdr1, poly_dr_p pdr2)
   int i;
   poly_dr_p pdr;
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), i, pdr); i++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), i, pdr)
     if (PDR_TYPE (pdr) == PDR_WRITE)
       break;
 
@@ -722,8 +722,8 @@ graphite_legal_transform_bb (poly_bb_p pbb1, poly_bb_p pbb2)
   if (reduction_ddr_p (pbb1, pbb2))
     return true;
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), i, pdr1); i++)
-    for (j = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb2), j, pdr2); j++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), i, pdr1)
+    FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb2), j, pdr2)
       if (!graphite_legal_transform_dr (pdr1, pdr2))
        return false;
 
@@ -741,8 +741,8 @@ graphite_legal_transform (scop_p scop)
 
   timevar_push (TV_GRAPHITE_DATA_DEPS);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb1); i++)
-    for (j = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), j, pbb2); j++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb1)
+    FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), j, pbb2)
       if (!graphite_legal_transform_bb (pbb1, pbb2))
        {
          timevar_pop (TV_GRAPHITE_DATA_DEPS);
@@ -803,8 +803,8 @@ dependency_between_pbbs_p (poly_bb_p pbb1, poly_bb_p pbb2, int level)
 
   timevar_push (TV_GRAPHITE_DATA_DEPS);
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), i, pdr1); i++)
-    for (j = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb2), j, pdr2); j++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), i, pdr1)
+    FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb2), j, pdr2)
       if (graphite_carried_dependence_level_k (pdr1, pdr2, level))
        {
          timevar_pop (TV_GRAPHITE_DATA_DEPS);
@@ -825,11 +825,11 @@ dot_original_deps_stmt_1 (FILE *file, scop_p scop)
   poly_bb_p pbb1, pbb2;
   poly_dr_p pdr1, pdr2;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb1); i++)
-    for (j = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), j, pbb2); j++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb1)
+    FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), j, pbb2)
       {
-       for (k = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), k, pdr1); k++)
-         for (l = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb2), l, pdr2); l++)
+       FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), k, pdr1)
+         FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb2), l, pdr2)
            if (!pddr_is_empty (dependence_polyhedron (pdr1, pdr2, 1, true)))
              {
                fprintf (file, "OS%d -> OS%d\n",
@@ -850,11 +850,11 @@ dot_transformed_deps_stmt_1 (FILE *file, scop_p scop)
   poly_bb_p pbb1, pbb2;
   poly_dr_p pdr1, pdr2;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb1); i++)
-    for (j = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), j, pbb2); j++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb1)
+    FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), j, pbb2)
       {
-       for (k = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), k, pdr1); k++)
-         for (l = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb2), l, pdr2); l++)
+       FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), k, pdr1)
+         FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb2), l, pdr2)
            {
              poly_ddr_p pddr = dependence_polyhedron (pdr1, pdr2, 1, false);
 
@@ -898,10 +898,10 @@ dot_original_deps (FILE *file, scop_p scop)
   poly_bb_p pbb1, pbb2;
   poly_dr_p pdr1, pdr2;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb1); i++)
-    for (j = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), j, pbb2); j++)
-      for (k = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), k, pdr1); k++)
-       for (l = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb2), l, pdr2); l++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb1)
+    FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), j, pbb2)
+      FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), k, pdr1)
+       FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb2), l, pdr2)
          if (!pddr_is_empty (dependence_polyhedron (pdr1, pdr2, 1, true)))
            fprintf (file, "OS%d_D%d -> OS%d_D%d\n",
                     pbb_index (pbb1), PDR_ID (pdr1),
@@ -918,10 +918,10 @@ dot_transformed_deps (FILE *file, scop_p scop)
   poly_bb_p pbb1, pbb2;
   poly_dr_p pdr1, pdr2;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb1); i++)
-    for (j = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), j, pbb2); j++)
-      for (k = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb1), k, pdr1); k++)
-       for (l = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb2), l, pdr2); l++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb1)
+    FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), j, pbb2)
+      FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb1), k, pdr1)
+       FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb2), l, pdr2)
          {
            poly_ddr_p pddr = dependence_polyhedron (pdr1, pdr2, 1, false);
 
index 2392ce8..83027d3 100644 (file)
@@ -349,11 +349,11 @@ memory_strides_in_loop_1 (lst_p loop, graphite_dim_t depth, mpz_t strides)
   mpz_init (s);
   mpz_init (n);
 
-  for (j = 0; VEC_iterate (lst_p, LST_SEQ (loop), j, l); j++)
+  FOR_EACH_VEC_ELT (lst_p, LST_SEQ (loop), j, l)
     if (LST_LOOP_P (l))
       memory_strides_in_loop_1 (l, depth, strides);
     else
-      for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (LST_PBB (l)), i, pdr); i++)
+      FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (LST_PBB (l)), i, pdr)
        {
          pdr_stride_in_loop (s, depth, pdr);
          mpz_set_si (n, PDR_NB_REFS (pdr));
@@ -526,7 +526,7 @@ lst_apply_interchange (lst_p lst, int depth1, int depth2)
       int i;
       lst_p l;
 
-      for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
+      FOR_EACH_VEC_ELT (lst_p, LST_SEQ (lst), i, l)
        lst_apply_interchange (l, depth1, depth2);
     }
   else
@@ -672,7 +672,7 @@ lst_interchange_select_inner (scop_p scop, lst_p outer_father, int outer,
 
   loop1 = VEC_index (lst_p, LST_SEQ (outer_father), outer);
 
-  for (inner = 0; VEC_iterate (lst_p, LST_SEQ (inner_father), inner, loop2); inner++)
+  FOR_EACH_VEC_ELT (lst_p, LST_SEQ (inner_father), inner, loop2)
     if (LST_LOOP_P (loop2)
        && (lst_try_interchange_loops (scop, loop1, loop2)
            || lst_interchange_select_inner (scop, outer_father, outer, loop2)))
@@ -708,7 +708,7 @@ lst_interchange_select_outer (scop_p scop, lst_p loop, int outer)
     }
 
   if (LST_LOOP_P (loop))
-    for (i = 0; VEC_iterate (lst_p, LST_SEQ (loop), i, l); i++)
+    FOR_EACH_VEC_ELT (lst_p, LST_SEQ (loop), i, l)
       if (LST_LOOP_P (l))
        res |= lst_interchange_select_outer (scop, l, i);
 
index 7d33aa8..ae6ad44 100644 (file)
@@ -62,7 +62,7 @@ scop_max_loop_depth (scop_p scop)
   poly_bb_p pbb;
   int max_nb_loops = 0;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     {
       int nb_loops = pbb_dim_iter_domain (pbb);
       if (max_nb_loops < nb_loops)
@@ -127,10 +127,10 @@ unify_scattering_dimensions (scop_p scop)
   poly_bb_p pbb;
   graphite_dim_t max_scattering = 0;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     max_scattering = MAX (pbb_nb_scattering_transform (pbb), max_scattering);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     extend_scattering (pbb, max_scattering);
 
   return max_scattering;
@@ -221,7 +221,7 @@ print_scattering_functions (FILE *file, scop_p scop, int verbosity)
   int i;
   poly_bb_p pbb;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     print_scattering_function (file, pbb, verbosity);
 }
 
@@ -234,7 +234,7 @@ print_iteration_domains (FILE *file, scop_p scop, int verbosity)
   int i;
   poly_bb_p pbb;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     print_iteration_domain (file, pbb, verbosity);
 }
 
@@ -342,8 +342,8 @@ pbb_remove_duplicate_pdrs (poly_bb_p pbb)
   unsigned n = VEC_length (poly_dr_p, PBB_DRS (pbb));
   VEC (poly_dr_p, heap) *collapsed = VEC_alloc (poly_dr_p, heap, n);
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb), i, pdr1); i++)
-    for (j = 0; VEC_iterate (poly_dr_p, collapsed, j, pdr2); j++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr1)
+    FOR_EACH_VEC_ELT (poly_dr_p, collapsed, j, pdr2)
       if (!can_collapse_pdrs (pdr1, pdr2))
        VEC_quick_push (poly_dr_p, collapsed, pdr1);
 
@@ -422,7 +422,7 @@ free_poly_bb (poly_bb_p pbb)
     poly_scattering_free (PBB_ORIGINAL (pbb));
 
   if (PBB_DRS (pbb))
-    for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb), i, pdr); i++)
+    FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr)
       free_poly_dr (pdr);
 
   VEC_free (poly_dr_p, heap, PBB_DRS (pbb));
@@ -533,7 +533,7 @@ free_scop (scop_p scop)
   int i;
   poly_bb_p pbb;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     free_poly_bb (pbb);
 
   VEC_free (poly_bb_p, heap, SCOP_BBS (scop));
@@ -600,7 +600,7 @@ dump_gbb_cases (FILE *file, gimple_bb_p gbb)
 
   fprintf (file, "# cases bb_%d (\n", GBB_BB (gbb)->index);
 
-  for (i = 0; VEC_iterate (gimple, cases, i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, cases, i, stmt)
     {
       fprintf (file, "# ");
       print_gimple_stmt (file, stmt, 0, 0);
@@ -627,7 +627,7 @@ dump_gbb_conditions (FILE *file, gimple_bb_p gbb)
 
   fprintf (file, "# conditions bb_%d (\n", GBB_BB (gbb)->index);
 
-  for (i = 0; VEC_iterate (gimple, conditions, i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, conditions, i, stmt)
     {
       fprintf (file, "# ");
       print_gimple_stmt (file, stmt, 0, 0);
@@ -662,7 +662,7 @@ print_pdrs (FILE *file, poly_bb_p pbb, int verbosity)
     fprintf (file, "# Access informations are provided\n");
   fprintf (file, "1\n");
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb), i, pdr); i++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr)
     if (PDR_TYPE (pdr) == PDR_READ)
       nb_reads++;
     else
@@ -675,7 +675,7 @@ print_pdrs (FILE *file, poly_bb_p pbb, int verbosity)
     fprintf (file, "# Read access informations\n");
   fprintf (file, "%d\n", nb_reads);
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb), i, pdr); i++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr)
     if (PDR_TYPE (pdr) == PDR_READ)
       print_pdr (file, pdr, verbosity);
 
@@ -689,7 +689,7 @@ print_pdrs (FILE *file, poly_bb_p pbb, int verbosity)
     fprintf (file, "# Write access informations\n");
   fprintf (file, "%d\n", nb_writes);
 
-  for (i = 0; VEC_iterate (poly_dr_p, PBB_DRS (pbb), i, pdr); i++)
+  FOR_EACH_VEC_ELT (poly_dr_p, PBB_DRS (pbb), i, pdr)
     if (PDR_TYPE (pdr) != PDR_READ)
       print_pdr (file, pdr, verbosity);
 
@@ -784,7 +784,7 @@ print_scop_params (FILE *file, scop_p scop, int verbosity)
       fprintf (file, "0\n");
     }
 
-  for (i = 0; VEC_iterate (tree, SESE_PARAMS (SCOP_REGION (scop)), i, t); i++)
+  FOR_EACH_VEC_ELT (tree, SESE_PARAMS (SCOP_REGION (scop)), i, t)
     {
       print_generic_expr (file, t, 0);
       fprintf (file, " ");
@@ -841,7 +841,7 @@ print_scop (FILE *file, scop_p scop, int verbosity)
 
   fprintf (file, "%d\n",VEC_length (poly_bb_p, SCOP_BBS (scop)));
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     print_pbb (file, pbb, verbosity);
 
   if (verbosity > 1)
@@ -880,7 +880,7 @@ print_cloog (FILE *file, scop_p scop, int verbosity)
 
   fprintf (file, "%d\n", VEC_length (poly_bb_p, SCOP_BBS (scop)));
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     {
       if (verbosity > 1)
        fprintf (file, "# pbb_%d (\n", pbb_index (pbb));
@@ -909,7 +909,7 @@ print_cloog (FILE *file, scop_p scop, int verbosity)
   fprintf (file, "%d\n", VEC_length (poly_bb_p, SCOP_BBS (scop)));
   unify_scattering_dimensions (scop);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     {
       if (!PBB_TRANSFORMED (pbb)
          || !(PBB_TRANSFORMED_SCATTERING (pbb)
@@ -1214,7 +1214,7 @@ print_lst (FILE *file, lst_p lst, int indent)
       else
        fprintf (file, "#(root");
 
-      for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
+      FOR_EACH_VEC_ELT (lst_p, LST_SEQ (lst), i, l)
        print_lst (file, l, indent + 2);
 
       fprintf (file, ")");
@@ -1255,7 +1255,7 @@ dot_lst_1 (FILE *file, lst_p lst)
                 lst_depth (lst),
                 lst_dewey_number (lst));
 
-      for (i = 0; VEC_iterate (lst_p, LST_SEQ (lst), i, l); i++)
+      FOR_EACH_VEC_ELT (lst_p, LST_SEQ (lst), i, l)
        dot_lst_1 (file, l);
     }
 
index 07d94d0..e2847b8 100644 (file)
@@ -148,7 +148,7 @@ move_sd_regions (VEC (sd_region, heap) **source,
   sd_region *s;
   int i;
 
-  for (i = 0; VEC_iterate (sd_region, *source, i, s); i++)
+  FOR_EACH_VEC_ELT (sd_region, *source, i, s)
     VEC_safe_push (sd_region, heap, *target, s);
 
   VEC_free (sd_region, heap, *source);
@@ -284,7 +284,7 @@ stmt_has_simple_data_refs_p (loop_p outermost_loop, gimple stmt)
 
   graphite_find_data_references_in_stmt (outermost_loop, stmt, &drs);
 
-  for (j = 0; VEC_iterate (data_reference_p, drs, j, dr); j++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, j, dr)
     for (i = 0; i < DR_NUM_DIMENSIONS (dr); i++)
       if (!graphite_can_represent_scev (DR_ACCESS_FN (dr, i), loop))
        {
@@ -552,7 +552,7 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop,
                  - The exit destinations are dominated by another bb inside
                    the loop.
                  - The loop dominates bbs, that are not exit destinations.  */
-        for (i = 0; VEC_iterate (edge, exits, i, e); i++)
+        FOR_EACH_VEC_ELT (edge, exits, i, e)
           if (e->src->loop_father == loop
              && dominated_by_p (CDI_DOMINATORS, e->dest, e->src))
            {
@@ -590,7 +590,7 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop,
 
        /* First check the successors of BB, and check if it is
           possible to join the different branches.  */
-       for (i = 0; VEC_iterate (edge, bb->succs, i, e); i++)
+       FOR_EACH_VEC_ELT (edge, bb->succs, i, e)
          {
            /* Ignore loop exits.  They will be handled after the loop
               body.  */
@@ -676,7 +676,7 @@ scopdet_basic_block_info (basic_block bb, loop_p outermost_loop,
        /* Scan remaining bbs dominated by BB.  */
        dominated = get_dominated_by (CDI_DOMINATORS, bb);
 
-       for (i = 0; VEC_iterate (basic_block, dominated, i, dom_bb); i++)
+       FOR_EACH_VEC_ELT (basic_block, dominated, i, dom_bb)
          {
            /* Ignore loop exits: they will be handled after the loop body.  */
            if (loop_depth (find_common_loop (loop, dom_bb->loop_father))
@@ -990,7 +990,7 @@ unmark_exit_edges (VEC (sd_region, heap) *regions)
   edge e;
   edge_iterator ei;
 
-  for (i = 0; VEC_iterate (sd_region, regions, i, s); i++)
+  FOR_EACH_VEC_ELT (sd_region, regions, i, s)
     FOR_EACH_EDGE (e, ei, s->exit->preds)
       e->aux = NULL;
 }
@@ -1007,7 +1007,7 @@ mark_exit_edges (VEC (sd_region, heap) *regions)
   edge e;
   edge_iterator ei;
 
-  for (i = 0; VEC_iterate (sd_region, regions, i, s); i++)
+  FOR_EACH_VEC_ELT (sd_region, regions, i, s)
     FOR_EACH_EDGE (e, ei, s->exit->preds)
       if (bb_in_sd_region (e->src, s))
        e->aux = s;
@@ -1021,12 +1021,12 @@ create_sese_edges (VEC (sd_region, heap) *regions)
   int i;
   sd_region *s;
 
-  for (i = 0; VEC_iterate (sd_region, regions, i, s); i++)
+  FOR_EACH_VEC_ELT (sd_region, regions, i, s)
     create_single_entry_edge (s);
 
   mark_exit_edges (regions);
 
-  for (i = 0; VEC_iterate (sd_region, regions, i, s); i++)
+  FOR_EACH_VEC_ELT (sd_region, regions, i, s)
     /* Don't handle multiple edges exiting the function.  */
     if (!find_single_exit_edge (s)
        && s->exit != EXIT_BLOCK_PTR)
@@ -1052,7 +1052,7 @@ build_graphite_scops (VEC (sd_region, heap) *regions,
   int i;
   sd_region *s;
 
-  for (i = 0; VEC_iterate (sd_region, regions, i, s); i++)
+  FOR_EACH_VEC_ELT (sd_region, regions, i, s)
     {
       edge entry = find_single_entry_edge (s);
       edge exit = find_single_exit_edge (s);
@@ -1070,7 +1070,7 @@ build_graphite_scops (VEC (sd_region, heap) *regions,
          int j;
          sd_region *s2;
 
-         for (j = 0; VEC_iterate (sd_region, regions, j, s2); j++)
+         FOR_EACH_VEC_ELT (sd_region, regions, j, s2)
            if (s != s2)
              gcc_assert (!bb_in_sd_region (s->entry, s2));
        }
@@ -1159,7 +1159,7 @@ print_graphite_statistics (FILE* file, VEC (scop_p, heap) *scops)
   int i;
   scop_p scop;
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     print_graphite_scop_statistics (file, scop);
 }
 
@@ -1191,14 +1191,14 @@ limit_scops (VEC (scop_p, heap) **scops)
   int i;
   scop_p scop;
 
-  for (i = 0; VEC_iterate (scop_p, *scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, *scops, i, scop)
     {
       int j;
       loop_p loop;
       sese region = SCOP_REGION (scop);
       build_sese_loop_nests (region);
 
-      for (j = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), j, loop); j++)
+      FOR_EACH_VEC_ELT (loop_p, SESE_LOOP_NEST (region), j, loop)
         if (!loop_in_sese_p (loop_outer (loop), region)
            && single_exit (loop))
           {
@@ -1380,7 +1380,7 @@ dot_all_scops_1 (FILE *file, VEC (scop_p, heap) *scops)
       fprintf (file, "CELLSPACING=\"0\">\n");
 
       /* Select color for SCoP.  */
-      for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+      FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
        {
          sese region = SCOP_REGION (scop);
          if (bb_in_sese_p (bb, region)
index 4b94bcb..0fd6120 100644 (file)
@@ -278,7 +278,7 @@ free_data_refs_aux (VEC (data_reference_p, heap) *datarefs)
   unsigned int i;
   struct data_reference *dr;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     if (dr->aux)
       {
        base_alias_pair *bap = (base_alias_pair *)(dr->aux);
@@ -312,7 +312,7 @@ remove_gbbs_in_scop (scop_p scop)
   int i;
   poly_bb_p pbb;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     free_gimple_bb (PBB_BLACK_BOX (pbb));
 }
 
@@ -324,7 +324,7 @@ free_scops (VEC (scop_p, heap) *scops)
   int i;
   scop_p scop;
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     {
       remove_gbbs_in_scop (scop);
       free_sese (SCOP_REGION (scop));
@@ -434,7 +434,7 @@ build_scop_bbs_1 (scop_p scop, sbitmap visited, basic_block bb, sbitmap reductio
       int i;
       basic_block dom_bb;
 
-      for (i = 0; VEC_iterate (basic_block, dom, i, dom_bb); i++)
+      FOR_EACH_VEC_ELT (basic_block, dom, i, dom_bb)
        if (all_non_dominated_preds_marked_p (dom_bb, visited))
          {
            build_scop_bbs_1 (scop, visited, dom_bb, reductions);
@@ -616,7 +616,7 @@ build_scop_scattering (scop_p scop)
   ppl_assign_Coefficient_from_mpz_t (c, v);
   ppl_Linear_Expression_add_to_coefficient (static_schedule, 0, c);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     {
       gimple_bb_p gbb = PBB_BLACK_BOX (pbb);
       ppl_Linear_Expression_t common;
@@ -741,7 +741,7 @@ parameter_index_in_region_1 (tree name, sese region)
 
   gcc_assert (TREE_CODE (name) == SSA_NAME);
 
-  for (i = 0; VEC_iterate (tree, SESE_PARAMS (region), i, p); i++)
+  FOR_EACH_VEC_ELT (tree, SESE_PARAMS (region), i, p)
     if (p == name)
       return i;
 
@@ -955,12 +955,12 @@ find_params_in_bb (sese region, gimple_bb_p gbb)
   mpz_set_si (one, 1);
 
   /* Find parameters in the access functions of data references.  */
-  for (i = 0; VEC_iterate (data_reference_p, GBB_DATA_REFS (gbb), i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, GBB_DATA_REFS (gbb), i, dr)
     for (j = 0; j < DR_NUM_DIMENSIONS (dr); j++)
       scan_tree_for_params (region, DR_ACCESS_FN (dr, j), NULL, one);
 
   /* Find parameters in conditional statements.  */
-  for (i = 0; VEC_iterate (gimple, GBB_CONDITIONS (gbb), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, GBB_CONDITIONS (gbb), i, stmt)
     {
       tree lhs = scalar_evolution_in_region (region, loop,
                                             gimple_cond_lhs (stmt));
@@ -990,7 +990,7 @@ find_scop_parameters (scop_p scop)
   mpz_set_si (one, 1);
 
   /* Find the parameters used in the loop bounds.  */
-  for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, SESE_LOOP_NEST (region), i, loop)
     {
       tree nb_iters = number_of_latch_executions (loop);
 
@@ -1004,7 +1004,7 @@ find_scop_parameters (scop_p scop)
   mpz_clear (one);
 
   /* Find the parameters used in data accesses.  */
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     find_params_in_bb (region, PBB_BLACK_BOX (pbb));
 
   scop_set_nb_params (scop, sese_nb_params (region));
@@ -1335,7 +1335,7 @@ add_conditions_to_domain (poly_bb_p pbb)
   if (VEC_empty (gimple, GBB_CONDITIONS (gbb)))
     return;
 
-  for (i = 0; VEC_iterate (gimple, GBB_CONDITIONS (gbb), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, GBB_CONDITIONS (gbb), i, stmt)
     switch (gimple_code (stmt))
       {
       case GIMPLE_COND:
@@ -1490,7 +1490,7 @@ add_conditions_to_constraints (scop_p scop)
   int i;
   poly_bb_p pbb;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     add_conditions_to_domain (pbb);
 }
 
@@ -1586,11 +1586,11 @@ build_scop_iteration_domain (scop_p scop)
 
   ppl_new_C_Polyhedron_from_space_dimension (&ph, scop_nb_params (scop), 0);
 
-  for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, SESE_LOOP_NEST (region), i, loop)
     if (!loop_in_sese_p (loop_outer (loop), region))
       build_loop_iteration_domains (scop, loop, ph, 0, domains);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     if (domains[gbb_loop (PBB_BLACK_BOX (pbb))->num])
       ppl_new_Pointset_Powerset_C_Polyhedron_from_Pointset_Powerset_C_Polyhedron
        (&PBB_DOMAIN (pbb), (ppl_const_Pointset_Powerset_C_Polyhedron_t)
@@ -1788,7 +1788,7 @@ write_alias_graph_to_ascii_dimacs (FILE *file, char *comment,
   if (num_vertex == 0)
     return true;
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     for (j = i + 1; VEC_iterate (data_reference_p, drs, j, dr2); j++)
       if (dr_may_alias_p (dr1, dr2))
        edge_num++;
@@ -1800,7 +1800,7 @@ write_alias_graph_to_ascii_dimacs (FILE *file, char *comment,
 
   fprintf (file, "p edge %d %d\n", num_vertex, edge_num);
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     for (j = i + 1; VEC_iterate (data_reference_p, drs, j, dr2); j++)
       if (dr_may_alias_p (dr1, dr2))
        fprintf (file, "e %d %d\n", i + 1, j + 1);
@@ -1827,10 +1827,10 @@ write_alias_graph_to_ascii_dot (FILE *file, char *comment,
     fprintf (file, "c %s\n", comment);
 
   /* First print all the vertices.  */
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     fprintf (file, "n%d;\n", i);
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     for (j = i + 1; VEC_iterate (data_reference_p, drs, j, dr2); j++)
       if (dr_may_alias_p (dr1, dr2))
        fprintf (file, "n%d n%d\n", i, j);
@@ -1856,7 +1856,7 @@ write_alias_graph_to_ascii_ecc (FILE *file, char *comment,
   if (comment)
     fprintf (file, "c %s\n", comment);
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     for (j = i + 1; VEC_iterate (data_reference_p, drs, j, dr2); j++)
       if (dr_may_alias_p (dr1, dr2))
        fprintf (file, "%d %d\n", i, j);
@@ -1892,7 +1892,7 @@ build_alias_set_optimal_p (VEC (data_reference_p, heap) *drs)
   int this_component_is_clique;
   int all_components_are_cliques = 1;
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     for (j = i+1; VEC_iterate (data_reference_p, drs, j, dr2); j++)
       if (dr_may_alias_p (dr1, dr2))
        {
@@ -1972,7 +1972,7 @@ build_base_obj_set_for_drs (VEC (data_reference_p, heap) *drs)
   int i, j;
   int *queue;
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr1); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr1)
     for (j = i + 1; VEC_iterate (data_reference_p, drs, j, dr2); j++)
       if (dr_same_base_object_p (dr1, dr2))
        {
@@ -2010,7 +2010,7 @@ build_pbb_drs (poly_bb_p pbb)
   data_reference_p dr;
   VEC (data_reference_p, heap) *gbb_drs = GBB_DATA_REFS (PBB_BLACK_BOX (pbb));
 
-  for (j = 0; VEC_iterate (data_reference_p, gbb_drs, j, dr); j++)
+  FOR_EACH_VEC_ELT (data_reference_p, gbb_drs, j, dr)
     build_poly_dr (dr, pbb);
 }
 
@@ -2060,12 +2060,12 @@ build_scop_drs (scop_p scop)
   data_reference_p dr;
   VEC (data_reference_p, heap) *drs = VEC_alloc (data_reference_p, heap, 3);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     for (j = 0; VEC_iterate (data_reference_p,
                             GBB_DATA_REFS (PBB_BLACK_BOX (pbb)), j, dr); j++)
       VEC_safe_push (data_reference_p, heap, drs, dr);
 
-  for (i = 0; VEC_iterate (data_reference_p, drs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, drs, i, dr)
     dr->aux = XNEW (base_alias_pair);
 
   if (!build_alias_set_optimal_p (drs))
@@ -2083,7 +2083,7 @@ build_scop_drs (scop_p scop)
 
   VEC_free (data_reference_p, heap, drs);
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     build_pbb_drs (pbb);
 }
 
@@ -2549,7 +2549,7 @@ nb_pbbs_in_loops (scop_p scop)
   poly_bb_p pbb;
   int res = 0;
 
-  for (i = 0; VEC_iterate (poly_bb_p, SCOP_BBS (scop), i, pbb); i++)
+  FOR_EACH_VEC_ELT (poly_bb_p, SCOP_BBS (scop), i, pbb)
     if (loop_in_sese_p (gbb_loop (PBB_BLACK_BOX (pbb)), SCOP_REGION (scop)))
       res++;
 
@@ -2862,7 +2862,7 @@ remove_phi (gimple phi)
        }
     }
 
-  for (i = 0; VEC_iterate (gimple, update, i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, update, i, stmt)
     update_stmt (stmt);
 
   VEC_free (gimple, heap, update);
@@ -2890,7 +2890,7 @@ translate_scalar_reduction_to_array (VEC (gimple, heap) *in,
   gimple loop_phi;
   tree red = NULL_TREE;
 
-  for (i = 0; VEC_iterate (gimple, in, i, loop_phi); i++)
+  FOR_EACH_VEC_ELT (gimple, in, i, loop_phi)
     {
       gimple close_phi = VEC_index (gimple, out, i);
 
index 12dbd0c..6b083d1 100644 (file)
@@ -192,7 +192,7 @@ print_graphite_statistics (FILE* file, VEC (scop_p, heap) *scops)
 
   scop_p scop;
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     print_graphite_scop_statistics (file, scop);
 }
 
@@ -279,12 +279,12 @@ graphite_transform_loops (void)
   reductions = sbitmap_alloc (last_basic_block * 2);
   sbitmap_zero (reductions);
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     if (dbg_cnt (graphite_scop))
       rewrite_commutative_reductions_out_of_ssa (SCOP_REGION (scop),
                                                 reductions);
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     if (dbg_cnt (graphite_scop))
       {
        rewrite_reductions_out_of_ssa (scop);
@@ -294,11 +294,11 @@ graphite_transform_loops (void)
 
   sbitmap_free (reductions);
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     if (dbg_cnt (graphite_scop))
       build_poly_scop (scop);
 
-  for (i = 0; VEC_iterate (scop_p, scops, i, scop); i++)
+  FOR_EACH_VEC_ELT (scop_p, scops, i, scop)
     if (POLY_SCOP_P (scop)
        && apply_poly_transforms (scop)
        && gloog (scop, bb_pbb_mapping))
index 1865d45..2787685 100644 (file)
@@ -5093,7 +5093,7 @@ calc_priorities (rtx_vec_t roots)
   int i;
   rtx insn;
 
-  for (i = 0; VEC_iterate (rtx, roots, i, insn); i++)
+  FOR_EACH_VEC_ELT (rtx, roots, i, insn)
     priority (insn);
 }
 
@@ -5321,7 +5321,7 @@ sched_scan (const struct sched_scan_info_def *ssi,
          unsigned i;
          basic_block x;
 
-         for (i = 0; VEC_iterate (basic_block, bbs, i, x); i++)
+         FOR_EACH_VEC_ELT (basic_block, bbs, i, x)
            init_bb (x);
        }
 
@@ -5336,7 +5336,7 @@ sched_scan (const struct sched_scan_info_def *ssi,
       unsigned i;
       basic_block x;
 
-      for (i = 0; VEC_iterate (basic_block, bbs, i, x); i++)
+      FOR_EACH_VEC_ELT (basic_block, bbs, i, x)
        init_insns_in_bb (x);
     }
 
@@ -5348,7 +5348,7 @@ sched_scan (const struct sched_scan_info_def *ssi,
       unsigned i;
       rtx x;
 
-      for (i = 0; VEC_iterate (rtx, insns, i, x); i++)
+      FOR_EACH_VEC_ELT (rtx, insns, i, x)
        init_insn (x);
     }
 
@@ -5478,7 +5478,7 @@ haifa_finish_h_i_d (void)
   haifa_insn_data_t data;
   struct reg_use_data *use, *next;
 
-  for (i = 0; VEC_iterate (haifa_insn_data_def, h_i_d, i, data); i++)
+  FOR_EACH_VEC_ELT (haifa_insn_data_def, h_i_d, i, data)
     {
       if (data->reg_pressure != NULL)
        free (data->reg_pressure);
index c0123aa..9ac4b13 100644 (file)
@@ -2760,7 +2760,7 @@ cond_move_process_if_block (struct noce_if_info *if_info)
      source register does not change after the assignment.  Also count
      the number of registers set in only one of the blocks.  */
   c = 0;
-  for (i = 0; VEC_iterate (int, then_regs, i, reg); i++)
+  FOR_EACH_VEC_ELT (int, then_regs, i, reg)
     {
       if (!then_vals[reg] && !else_vals[reg])
        continue;
@@ -2781,7 +2781,7 @@ cond_move_process_if_block (struct noce_if_info *if_info)
     }
 
   /* Finish off c for MAX_CONDITIONAL_EXECUTE.  */
-  for (i = 0; VEC_iterate (int, else_regs, i, reg); ++i)
+  FOR_EACH_VEC_ELT (int, else_regs, i, reg)
     if (!then_vals[reg])
       ++c;
 
index e2716d3..a96dadd 100644 (file)
@@ -727,7 +727,7 @@ combine_reaching_defs (rtx zero_extend_insn, rtx set_pat)
      in this vector.  */
 
   vec = VEC_alloc (rtx, heap, 8);
-  for (defs_ix = 0; VEC_iterate (rtx, defs_list, defs_ix, def_insn); defs_ix++)
+  FOR_EACH_VEC_ELT (rtx, defs_list, defs_ix, def_insn)
     {
       merge_code = get_insn_status (def_insn);
       gcc_assert (merge_code == MERGE_NOT_ATTEMPTED);
@@ -746,7 +746,7 @@ combine_reaching_defs (rtx zero_extend_insn, rtx set_pat)
 
   if (merge_successful)
     {
-      for (i = 0; VEC_iterate (rtx, copies_list, i, def_insn); i++)
+      FOR_EACH_VEC_ELT (rtx, copies_list, i, def_insn)
         {
           if (transform_ifelse (def_insn))
             {
@@ -773,7 +773,7 @@ combine_reaching_defs (rtx zero_extend_insn, rtx set_pat)
           if (dump_file)
             fprintf (dump_file, "All merges were successful ....\n");
 
-          for (i = 0; VEC_iterate (rtx, vec, i, def_insn); i++)
+          FOR_EACH_VEC_ELT (rtx, vec, i, def_insn)
             {
               set_insn_status (def_insn, MERGE_SUCCESS);
             }
@@ -791,7 +791,7 @@ combine_reaching_defs (rtx zero_extend_insn, rtx set_pat)
 
           if (dump_file)
             {
-              for (i = 0; VEC_iterate (rtx, vec, i, def_insn); i++)
+              FOR_EACH_VEC_ELT (rtx, vec, i, def_insn)
                 {
                   fprintf (dump_file, " Ummergable definitions : \n");
                   print_rtl_single (dump_file, def_insn);
@@ -916,7 +916,7 @@ find_and_remove_ze (void)
 
   zeinsn_list = find_removable_zero_extends ();
 
-  for (ix = 0; VEC_iterate (rtx, zeinsn_list, ix, curr_insn); ix++)
+  FOR_EACH_VEC_ELT (rtx, zeinsn_list, ix, curr_insn)
     {
       num_ze_opportunities++;
       /* Try to combine the zero-extends with the definition here.  */
@@ -937,7 +937,7 @@ find_and_remove_ze (void)
     }
 
   /* Delete all useless zero extensions here in one sweep.  */
-  for (ix = 0; VEC_iterate (rtx, zeinsn_del_list, ix, curr_insn); ix++)
+  FOR_EACH_VEC_ELT (rtx, zeinsn_del_list, ix, curr_insn)
     delete_insn (curr_insn);
 
   free (is_insn_merge_attempted);
index 9d7df07..83fdeae 100644 (file)
@@ -1672,9 +1672,7 @@ ipa_free_all_edge_args (void)
   int i;
   struct ipa_edge_args *args;
 
-  for (i = 0;
-       VEC_iterate (ipa_edge_args_t, ipa_edge_args_vector, i, args);
-       i++)
+  FOR_EACH_VEC_ELT (ipa_edge_args_t, ipa_edge_args_vector, i, args)
     ipa_free_edge_args_substructures (args);
 
   VEC_free (ipa_edge_args_t, gc, ipa_edge_args_vector);
@@ -1701,9 +1699,7 @@ ipa_free_all_node_params (void)
   int i;
   struct ipa_node_params *info;
 
-  for (i = 0;
-       VEC_iterate (ipa_node_params_t, ipa_node_params_vector, i, info);
-       i++)
+  FOR_EACH_VEC_ELT (ipa_node_params_t, ipa_node_params_vector, i, info)
     ipa_free_node_params_substructures (info);
 
   VEC_free (ipa_node_params_t, heap, ipa_node_params_vector);
index 6f62b70..d787a66 100644 (file)
@@ -556,7 +556,7 @@ finalize_new_vars_creation (void **slot, void *data ATTRIBUTE_UNUSED)
   unsigned i;
   tree var;
 
-  for (i = 0; VEC_iterate (tree, n_var->new_vars, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, n_var->new_vars, i, var)
     finalize_var_creation (var);
   return 1;
 }
@@ -570,7 +570,7 @@ find_var_in_new_vars_vec (new_var var, tree new_type)
   tree n_var;
   unsigned i;
 
-  for (i = 0; VEC_iterate (tree, var->new_vars, i, n_var); i++)
+  FOR_EACH_VEC_ELT (tree, var->new_vars, i, n_var)
     {
       tree type = strip_type(get_type_of_var (n_var));
       gcc_assert (type);
@@ -786,7 +786,7 @@ is_part_of_malloc (gimple stmt, tree fn_decl)
       alloc_site_t *call;
       unsigned i;
 
-      for (i = 0; VEC_iterate (alloc_site_t, fallocs->allocs, i, call); i++)
+      FOR_EACH_VEC_ELT (alloc_site_t, fallocs->allocs, i, call)
        if (call->stmt == stmt
            || get_final_alloc_stmt (call->stmt) == stmt)
          return true;
@@ -1065,7 +1065,7 @@ find_structure (tree type)
 
   type = TYPE_MAIN_VARIANT (type);
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     if (is_equal_types (str->decl, type))
       return i;
 
@@ -1259,7 +1259,7 @@ create_new_stmts_for_cond_expr (gimple stmt)
   arg = integer_zerop (arg0) ? arg1 : arg0;
   pos = integer_zerop (arg0) ? 1 : 0;
 
-  for (i = 0; VEC_iterate (tree, str->new_types, i, type); i++)
+  FOR_EACH_VEC_ELT (tree, str->new_types, i, type)
     {
       tree new_arg;
 
@@ -1313,7 +1313,7 @@ create_general_new_stmt (struct access_site *acc, tree new_type)
       gimple_set_vdef (new_stmt, NULL_TREE);
     }
 
-  for (i = 0; VEC_iterate (tree, acc->vars, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, acc->vars, i, var)
     {
       tree new_var = find_new_var_of_type (var, new_type);
       tree lhs, rhs = NULL_TREE;
@@ -1366,7 +1366,7 @@ create_new_stmts_for_general_acc (struct access_site *acc, d_str str)
   gimple stmt = acc->stmt;
   unsigned i;
 
-  for (i = 0; VEC_iterate (tree, str->new_types, i, type); i++)
+  FOR_EACH_VEC_ELT (tree, str->new_types, i, type)
     {
       gimple new_stmt;
 
@@ -1475,7 +1475,7 @@ update_varpool_with_new_var (void **slot, void *data ATTRIBUTE_UNUSED)
   tree var;
   unsigned i;
 
-  for (i = 0; VEC_iterate (tree, n_var->new_vars, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, n_var->new_vars, i, var)
     insert_global_to_varpool (var);
   return 1;
 }
@@ -1566,7 +1566,7 @@ add_unsuitable_type (VEC (tree, heap) **unsuitable_types, tree type)
 
   type = TYPE_MAIN_VARIANT (type);
 
-  for (i = 0; VEC_iterate (tree, *unsuitable_types, i, t); i++)
+  FOR_EACH_VEC_ELT (tree, *unsuitable_types, i, t)
     if (is_equal_types (t, type))
       break;
 
@@ -2088,7 +2088,7 @@ dump_acc (void **slot, void *data ATTRIBUTE_UNUSED)
     print_gimple_stmt (dump_file, acc->stmt, 0, 0);
   fprintf(dump_file, " : ");
 
-  for (i = 0; VEC_iterate (tree, acc->vars, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, acc->vars, i, var)
     {
       print_generic_expr (dump_file, var, 0);
       fprintf(dump_file, ", ");
@@ -2155,7 +2155,7 @@ create_new_accesses_in_bb (basic_block bb)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     create_new_accs_for_struct (str, bb);
 }
 
@@ -2168,7 +2168,7 @@ create_new_alloc_sites (fallocs_t m_data, tree context)
   alloc_site_t *call;
   unsigned j;
 
-  for (j = 0; VEC_iterate (alloc_site_t, m_data->allocs, j, call); j++)
+  FOR_EACH_VEC_ELT (alloc_site_t, m_data->allocs, j, call)
     {
       gimple stmt = call->stmt;
       d_str str = call->str;
@@ -2187,7 +2187,7 @@ create_new_alloc_sites (fallocs_t m_data, tree context)
        }
 
       /* Generate an allocation sites for each new structure type.  */
-      for (i = 0; VEC_iterate (tree, str->new_types, i, type); i++)
+      FOR_EACH_VEC_ELT (tree, str->new_types, i, type)
        {
          gimple new_malloc_stmt = NULL;
          gimple last_stmt_tmp = NULL;
@@ -2646,7 +2646,7 @@ free_structures (void)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     free_data_struct (str);
 
   VEC_free (structure, heap, structures);
@@ -2874,7 +2874,7 @@ exclude_escaping_types_1 (VEC (tree, heap) **unsuitable_types)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     check_type_escape (str, unsuitable_types);
 }
 
@@ -3355,8 +3355,8 @@ remove_unsuitable_types (VEC (tree, heap) *unsuitable_types)
   tree type;
   unsigned i, j;
 
-  for (j = 0; VEC_iterate (tree, unsuitable_types, j, type); j++)
-    for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (tree, unsuitable_types, j, type)
+    FOR_EACH_VEC_ELT (structure, structures, i, str)
       if (is_equal_types (str->decl, type))
        {
          remove_structure (i);
@@ -3375,7 +3375,7 @@ exclude_types_with_bit_fields (VEC (tree, heap) **unsuitable_types)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     check_bitfields (str, unsuitable_types);
 }
 
@@ -3406,7 +3406,7 @@ analyze_struct_form (VEC (tree, heap) **unsuitable_types)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     check_struct_form (str, unsuitable_types);
 }
 
@@ -3580,7 +3580,7 @@ dump_accesses (void)
   if (!dump_file)
     return;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     dump_accs (str);
 }
 
@@ -3618,7 +3618,7 @@ exclude_alloc_and_field_accs (struct cgraph_node *node)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     exclude_alloc_and_field_accs_1 (str, node);
 }
 
@@ -3783,7 +3783,7 @@ dump_new_types (void)
   fprintf (dump_file, "\nThe following are the new types generated by"
           " this optimization:\n");
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     {
       if (dump_file)
        {
@@ -3792,7 +3792,7 @@ dump_new_types (void)
          fprintf (dump_file, "\nthe number of new types is %d\n",
                   VEC_length (tree, str->new_types));
        }
-      for (j = 0; VEC_iterate (tree, str->new_types, j, type); j++)
+      FOR_EACH_VEC_ELT (tree, str->new_types, j, type)
        dump_struct_type (type, 2, 0);
     }
 }
@@ -3806,7 +3806,7 @@ create_new_types (void)
   unsigned i;
   int str_num = 0;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     create_new_type (str, &str_num);
 }
 
@@ -3911,7 +3911,7 @@ exclude_cold_structs (void)
   d_str str;
 
   /* We summarize counts of fields of a structure into the structure count.  */
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     sum_counts (str, &hottest);
 
   /* Remove cold structures from structures vector.  */
@@ -3940,7 +3940,7 @@ peel_structs (void)
   d_str str;
   unsigned i;
 
-  for (i = 0; VEC_iterate (structure, structures, i, str); i++)
+  FOR_EACH_VEC_ELT (structure, structures, i, str)
     peel_hot_fields (str);
 }
 
index bac3406..be5c4a3 100644 (file)
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -658,7 +658,7 @@ function_and_variable_visibility (bool whole_program)
   alias_pair *p;
 
   /* Discover aliased nodes.  */
-  for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
+  FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
     {
       if (dump_file)
        fprintf (dump_file, "Alias %s->%s",
index 1d3021b..00ddcb7 100644 (file)
@@ -127,7 +127,7 @@ create_loop_tree_nodes (bool loops_p)
                    ira_allocate (sizeof (struct ira_loop_tree_node)
                                  * VEC_length (loop_p, ira_loops.larray)));
   max_regno = max_reg_num ();
-  for (i = 0; VEC_iterate (loop_p, ira_loops.larray, i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, i, loop)
     {
       if (loop != ira_loops.tree_root)
        {
@@ -145,7 +145,7 @@ create_loop_tree_nodes (bool loops_p)
          if (skip_p)
            continue;
          edges = get_loop_exit_edges (loop);
-         for (j = 0; VEC_iterate (edge, edges, j, e); j++)
+         FOR_EACH_VEC_ELT (edge, edges, j, e)
            if ((e->flags & EDGE_ABNORMAL) && EDGE_CRITICAL_P (e))
              {
                skip_p = true;
@@ -176,7 +176,7 @@ more_one_region_p (void)
   unsigned int i;
   loop_p loop;
 
-  for (i = 0; VEC_iterate (loop_p, ira_loops.larray, i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, i, loop)
     if (ira_loop_nodes[i].regno_allocno_map != NULL
        && ira_loop_tree_root != &ira_loop_nodes[i])
       return true;
@@ -206,7 +206,7 @@ finish_loop_tree_nodes (void)
   unsigned int i;
   loop_p loop;
 
-  for (i = 0; VEC_iterate (loop_p, ira_loops.larray, i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, i, loop)
     finish_loop_tree_node (&ira_loop_nodes[i]);
   ira_free (ira_loop_nodes);
   for (i = 0; i < (unsigned int) last_basic_block_before_change; i++)
@@ -309,7 +309,7 @@ form_loop_tree (void)
   /* We can not use loop/bb node access macros because of potential
      checking and because the nodes are not initialized enough
      yet.  */
-  for (i = 0; VEC_iterate (loop_p, ira_loops.larray, i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, i, loop)
      if (ira_loop_nodes[i].regno_allocno_map != NULL)
        {
         ira_loop_nodes[i].children = NULL;
@@ -355,7 +355,7 @@ rebuild_regno_allocno_maps (void)
   ira_allocno_iterator ai;
 
   max_regno = max_reg_num ();
-  for (l = 0; VEC_iterate (loop_p, ira_loops.larray, l, loop); l++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, l, loop)
     if (ira_loop_nodes[l].regno_allocno_map != NULL)
       {
        ira_free (ira_loop_nodes[l].regno_allocno_map);
@@ -1615,7 +1615,7 @@ create_loop_tree_node_allocnos (ira_loop_tree_node_t loop_node)
          create_loop_allocnos (e);
 
       edges = get_loop_exit_edges (loop_node->loop);
-      for (i = 0; VEC_iterate (edge, edges, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, edges, i, e)
        create_loop_allocnos (e);
       VEC_free (edge, heap, edges);
     }
@@ -1875,7 +1875,7 @@ mark_all_loops_for_removal (void)
   int i;
   loop_p loop;
 
-  for (i = 0; VEC_iterate (loop_p, ira_loops.larray, i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, i, loop)
     if (ira_loop_nodes[i].regno_allocno_map != NULL)
       {
        if (ira_loop_nodes[i].parent == NULL)
index e26eb71..8360735 100644 (file)
@@ -1113,7 +1113,7 @@ ira_loop_edge_freq (ira_loop_tree_node_t loop_node, int regno, bool exit_p)
   else
     {
       edges = get_loop_exit_edges (loop_node->loop);
-      for (i = 0; VEC_iterate (edge, edges, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, edges, i, e)
        if (regno < 0
            || (bitmap_bit_p (DF_LR_OUT (e->src), regno)
                && bitmap_bit_p (DF_LR_IN (e->dest), regno)))
index 51f79d7..7221e44 100644 (file)
@@ -323,7 +323,7 @@ setup_entered_from_non_parent_p (void)
   unsigned int i;
   loop_p loop;
 
-  for (i = 0; VEC_iterate (loop_p, ira_loops.larray, i, loop); i++)
+  FOR_EACH_VEC_ELT (loop_p, ira_loops.larray, i, loop)
     if (ira_loop_nodes[i].regno_allocno_map != NULL)
       ira_loop_nodes[i].entered_from_non_parent_p
        = entered_from_non_parent_p (&ira_loop_nodes[i]);
index d0da14b..d45aa33 100644 (file)
@@ -1,3 +1,10 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * class.c: Use FOR_EACH_VEC_ELT.
+       * expr.c: Likewise.
+       * jcf-parse.c: Likewise.
+       * resource.c: Likewise.
+
 2010-08-16  Joseph Myers  <joseph@codesourcery.com>
 
        * lang.opt (MD_, MMD_, version): Mark RejectDriver.
index 6ce8b85..ece261b 100644 (file)
@@ -1544,9 +1544,7 @@ make_method_value (tree mdecl)
        e = VEC_index (constructor_elt, v, idx--);
        e->value = null_pointer_node;
 
-       for (ix = 0;
-            VEC_iterate (tree, DECL_FUNCTION_THROWS (mdecl), ix, t);
-            ix++)
+       FOR_EACH_VEC_ELT (tree, DECL_FUNCTION_THROWS (mdecl), ix, t)
          {
            tree sig = DECL_NAME (TYPE_NAME (t));
            tree utf8
@@ -2762,7 +2760,7 @@ emit_indirect_register_classes (tree *list_p)
                           VAR_DECL, get_identifier ("_Jv_CLS"),
                           class_array_type);
   tree reg_class_list;
-  for (i = 0; VEC_iterate (tree, registered_class, i, klass); ++i)
+  FOR_EACH_VEC_ELT (tree, registered_class, i, klass)
     {
       t = fold_convert (ptr_type_node, build_static_class_ref (klass));
       CONSTRUCTOR_APPEND_ELT (init, NULL_TREE, t);
@@ -2834,7 +2832,7 @@ emit_register_classes (tree *list_p)
 #endif
       assemble_align (POINTER_SIZE);
 
-      for (i = 0; VEC_iterate (tree, registered_class, i, klass); ++i)
+      FOR_EACH_VEC_ELT (tree, registered_class, i, klass)
        {
          t = build_fold_addr_expr (klass);
          output_constant (t, POINTER_SIZE / BITS_PER_UNIT, POINTER_SIZE);
@@ -2852,7 +2850,7 @@ emit_register_classes (tree *list_p)
       DECL_EXTERNAL (t) = 1;
       register_class_fn = t;
 
-      for (i = 0; VEC_iterate (tree, registered_class, i, klass); ++i)
+      FOR_EACH_VEC_ELT (tree, registered_class, i, klass)
        {
          t = build_fold_addr_expr (klass);
          t = build_call_expr (register_class_fn, 1, t);
@@ -2928,7 +2926,7 @@ emit_symbol_table (tree name, tree the_table,
     return the_table;
 
   /* Build a list of _Jv_MethodSymbols for each entry in otable_methods. */
-  for (index = 0; VEC_iterate (method_entry, decl_table, index, e); index++)
+  FOR_EACH_VEC_ELT (method_entry, decl_table, index, e)
     CONSTRUCTOR_APPEND_ELT (v, NULL_TREE,
                            build_symbol_entry (e->method, e->special));
 
index 3c987c5..9f9667f 100644 (file)
@@ -2296,7 +2296,7 @@ get_symbol_table_index (tree t, tree special,
   method_entry *e;
   unsigned i;
 
-  for (i = 0; VEC_iterate (method_entry, *symbol_table, i, e); i++)
+  FOR_EACH_VEC_ELT (method_entry, *symbol_table, i, e)
     if (t == e->method && special == e->special)
       goto done;
 
index c27d4b5..cb486ae 100644 (file)
@@ -1683,7 +1683,7 @@ predefined_filename_p (tree node)
   unsigned ix;
   tree f;
 
-  for (ix = 0; VEC_iterate (tree, predefined_filenames, ix, f); ix++)
+  FOR_EACH_VEC_ELT (tree, predefined_filenames, ix, f)
     if (f == node)
       return 1;
 
@@ -1869,7 +1869,7 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
     }
 
   current_jcf = main_jcf;
-  for (ix = 0; VEC_iterate (tree, current_file_list, ix, node); ix++)
+  FOR_EACH_VEC_ELT (tree, current_file_list, ix, node)
     {
       unsigned char magic_string[4];
       char *real_path;
@@ -1956,7 +1956,7 @@ java_parse_file (int set_yydebug ATTRIBUTE_UNUSED)
        }
     }
 
-  for (ix = 0; VEC_iterate (tree, current_file_list, ix, node); ix++)
+  FOR_EACH_VEC_ELT (tree, current_file_list, ix, node)
     {
       input_location = DECL_SOURCE_LOCATION (node);
       if (CLASS_FILE_P (node))
index d96d2d8..f954024 100644 (file)
@@ -107,7 +107,7 @@ write_resource_constructor (tree *list_p)
   register_resource_fn = t;
 
   /* Write out entries in the same order in which they were defined.  */
-  for (ix = 0; VEC_iterate (tree, resources, ix, decl); ix++)
+  FOR_EACH_VEC_ELT (tree, resources, ix, decl)
     {
       t = build_fold_addr_expr (decl);
       t = build_call_expr (register_resource_fn, 1, t);
index 4a29193..6236235 100644 (file)
@@ -1167,7 +1167,7 @@ gcc_tree_to_linear_expression (int depth, tree expr,
       {
        tree iv, invar;
        size_t i;
-       for (i = 0; VEC_iterate (tree, outerinductionvars, i, iv); i++)
+       FOR_EACH_VEC_ELT (tree, outerinductionvars, i, iv)
          if (iv != NULL)
            {
              if (SSA_NAME_VAR (iv) == SSA_NAME_VAR (expr))
@@ -1181,7 +1181,7 @@ gcc_tree_to_linear_expression (int depth, tree expr,
                  LLE_DENOMINATOR (lle) = 1;
                }
            }
-       for (i = 0; VEC_iterate (tree, invariants, i, invar); i++)
+       FOR_EACH_VEC_ELT (tree, invariants, i, invar)
          if (invar != NULL)
            {
              if (SSA_NAME_VAR (invar) == SSA_NAME_VAR (expr))
@@ -1542,7 +1542,7 @@ gcc_loopnest_to_lambda_loopnest (struct loop *loop_nest,
 
   ret = lambda_loopnest_new (depth, 2 * depth, lambda_obstack);
 
-  for (i = 0; VEC_iterate (lambda_loop, loops, i, newloop); i++)
+  FOR_EACH_VEC_ELT (lambda_loop, loops, i, newloop)
     LN_LOOPS (ret)[i] = newloop;
 
  fail:
@@ -1837,7 +1837,7 @@ lambda_loopnest_to_gcc_loopnest (struct loop *old_loopnest,
   /* Rewrite uses of the old ivs so that they are now specified in terms of
      the new ivs.  */
 
-  for (i = 0; VEC_iterate (tree, old_ivs, i, oldiv); i++)
+  FOR_EACH_VEC_ELT (tree, old_ivs, i, oldiv)
     {
       imm_use_iterator imm_iter;
       use_operand_p use_p;
@@ -2641,7 +2641,7 @@ lambda_transform_legal_p (lambda_trans_matrix trans,
   distres = lambda_vector_new (nb_loops);
 
   /* For each distance vector in the dependence graph.  */
-  for (i = 0; VEC_iterate (ddr_p, dependence_relations, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, dependence_relations, i, ddr)
     {
       /* Don't care about relations for which we know that there is no
         dependence, nor about read-read (aka. output-dependences):
@@ -2710,7 +2710,7 @@ lambda_collect_parameters (VEC (data_reference_p, heap) *datarefs,
   struct pointer_set_t *parameter_set = pointer_set_create ();
   data_reference_p data_reference;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, data_reference); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, data_reference)
     for (j = 0; j < DR_NUM_DIMENSIONS (data_reference); j++)
       lambda_collect_parameters_from_af (DR_ACCESS_FN (data_reference, j),
                                         parameter_set, parameters);
@@ -2862,7 +2862,7 @@ lambda_compute_access_matrices (VEC (data_reference_p, heap) *datarefs,
   data_reference_p dataref;
   unsigned ix;
 
-  for (ix = 0; VEC_iterate (data_reference_p, datarefs, ix, dataref); ix++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, ix, dataref)
     if (!build_access_matrix (dataref, parameters, nest, lambda_obstack))
       return false;
 
index cf427c3..77fd4ae 100644 (file)
@@ -536,7 +536,7 @@ merge_identical_invariants (void)
   htab_t eq = htab_create (VEC_length (invariant_p, invariants),
                           hash_invariant_expr, eq_invariant_expr, free);
 
-  for (i = 0; VEC_iterate (invariant_p, invariants, i, inv); i++)
+  FOR_EACH_VEC_ELT (invariant_p, invariants, i, inv)
     find_identical_invariants (eq, inv);
 
   htab_delete (eq);
@@ -1254,7 +1254,7 @@ best_gain_for_invariant (struct invariant **best, unsigned *regs_needed,
   int i, gain = 0, again;
   unsigned aregs_needed[N_REG_CLASSES], invno;
 
-  for (invno = 0; VEC_iterate (invariant_p, invariants, invno, inv); invno++)
+  FOR_EACH_VEC_ELT (invariant_p, invariants, invno, inv)
     {
       if (inv->move)
        continue;
@@ -1508,11 +1508,11 @@ move_invariants (struct loop *loop)
   struct invariant *inv;
   unsigned i;
 
-  for (i = 0; VEC_iterate (invariant_p, invariants, i, inv); i++)
+  FOR_EACH_VEC_ELT (invariant_p, invariants, i, inv)
     move_invariant_reg (loop, i);
   if (flag_ira_loop_pressure && resize_reg_info ())
     {
-      for (i = 0; VEC_iterate (invariant_p, invariants, i, inv); i++)
+      FOR_EACH_VEC_ELT (invariant_p, invariants, i, inv)
        if (inv->reg != NULL_RTX)
          {
            if (inv->orig_regno >= 0)
@@ -1561,7 +1561,7 @@ free_inv_motion_data (void)
        }
     }
 
-  for (i = 0; VEC_iterate (invariant_p, invariants, i, inv); i++)
+  FOR_EACH_VEC_ELT (invariant_p, invariants, i, inv)
     {
       BITMAP_FREE (inv->depends_on);
       free (inv);
index 8ea449d..47bfa05 100644 (file)
@@ -501,7 +501,7 @@ peel_loop_completely (struct loop *loop)
        }
 
       /* Remove the exit edges.  */
-      for (i = 0; VEC_iterate (edge, remove_edges, i, ein); i++)
+      FOR_EACH_VEC_ELT (edge, remove_edges, i, ein)
        remove_path (ein);
       VEC_free (edge, heap, remove_edges);
     }
@@ -789,7 +789,7 @@ unroll_loop_constant_iterations (struct loop *loop)
   desc->niter_expr = GEN_INT (desc->niter);
 
   /* Remove the edges.  */
-  for (i = 0; VEC_iterate (edge, remove_edges, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, remove_edges, i, e)
     remove_path (e);
   VEC_free (edge, heap, remove_edges);
 
@@ -992,7 +992,7 @@ unroll_loop_runtime_iterations (struct loop *loop)
       basic_block bb;
 
       ldom = get_dominated_by (CDI_DOMINATORS, body[i]);
-      for (j = 0; VEC_iterate (basic_block, ldom, j, bb); j++)
+      FOR_EACH_VEC_ELT (basic_block, ldom, j, bb)
        if (!flow_bb_inside_loop_p (loop, bb))
          VEC_safe_push (basic_block, heap, dom_bbs, bb);
 
@@ -1161,7 +1161,7 @@ unroll_loop_runtime_iterations (struct loop *loop)
     }
 
   /* Remove the edges.  */
-  for (i = 0; VEC_iterate (edge, remove_edges, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, remove_edges, i, e)
     remove_path (e);
   VEC_free (edge, heap, remove_edges);
 
@@ -2124,7 +2124,7 @@ insert_var_expansion_initialization (struct var_to_expand *ve,
 
   start_sequence ();
   if (ve->op == PLUS || ve->op == MINUS)
-    for (i = 0; VEC_iterate (rtx, ve->var_expansions, i, var); i++)
+    FOR_EACH_VEC_ELT (rtx, ve->var_expansions, i, var)
       {
        if (honor_signed_zero_p)
          zero_init = simplify_gen_unary (NEG, mode, CONST0_RTX (mode), mode);
@@ -2134,7 +2134,7 @@ insert_var_expansion_initialization (struct var_to_expand *ve,
         emit_move_insn (var, zero_init);
       }
   else if (ve->op == MULT)
-    for (i = 0; VEC_iterate (rtx, ve->var_expansions, i, var); i++)
+    FOR_EACH_VEC_ELT (rtx, ve->var_expansions, i, var)
       {
         zero_init =  CONST1_RTX (GET_MODE (var));
         emit_move_insn (var, zero_init);
@@ -2166,13 +2166,13 @@ combine_var_copies_in_loop_exit (struct var_to_expand *ve, basic_block place)
 
   start_sequence ();
   if (ve->op == PLUS || ve->op == MINUS)
-    for (i = 0; VEC_iterate (rtx, ve->var_expansions, i, var); i++)
+    FOR_EACH_VEC_ELT (rtx, ve->var_expansions, i, var)
       {
         sum = simplify_gen_binary (PLUS, GET_MODE (ve->reg),
                                    var, sum);
       }
   else if (ve->op == MULT)
-    for (i = 0; VEC_iterate (rtx, ve->var_expansions, i, var); i++)
+    FOR_EACH_VEC_ELT (rtx, ve->var_expansions, i, var)
       {
         sum = simplify_gen_binary (MULT, GET_MODE (ve->reg),
                                    var, sum);
index 6876f09..0569c05 100644 (file)
@@ -1312,7 +1312,7 @@ decompose_multiword_subregs (void)
     unsigned int i;
     bitmap b;
 
-    for (i = 0; VEC_iterate (bitmap, reg_copy_graph, i, b); ++i)
+    FOR_EACH_VEC_ELT (bitmap, reg_copy_graph, i, b)
       if (b)
        BITMAP_FREE (b);
   }
index 9c7af2b..9bd0f70 100644 (file)
@@ -1268,7 +1268,7 @@ input_cgraph_1 (struct lto_file_decl_data *file_data,
       len = lto_input_uleb128 (ib);
     }
 
-  for (i = 0; VEC_iterate (cgraph_node_ptr, nodes, i, node); i++)
+  FOR_EACH_VEC_ELT (cgraph_node_ptr, nodes, i, node)
     {
       int ref = (int) (intptr_t) node->global.inlined_to;
 
@@ -1307,7 +1307,7 @@ input_varpool_1 (struct lto_file_decl_data *file_data,
                     input_varpool_node (file_data, ib));
       len--;
     }
-  for (i = 0; VEC_iterate (varpool_node_ptr, varpool, i, node); i++)
+  FOR_EACH_VEC_ELT (varpool_node_ptr, varpool, i, node)
     {
       int ref = (int) (intptr_t) node->same_comdat_group;
 
@@ -1481,7 +1481,7 @@ output_node_opt_summary (struct output_block *ob,
     lto_output_uleb128_stream (ob->main_stream, index);
   lto_output_uleb128_stream (ob->main_stream,
                             VEC_length (ipa_replace_map_p, node->clone.tree_map));
-  for (i = 0; VEC_iterate (ipa_replace_map_p, node->clone.tree_map, i, map); i++)
+  FOR_EACH_VEC_ELT (ipa_replace_map_p, node->clone.tree_map, i, map)
     {
       int parm_num;
       tree parm;
index bff0325..3666b17 100644 (file)
@@ -128,7 +128,7 @@ clear_options (VEC(opt_t, heap) **opts_p)
   int i;
   opt_t *o;
 
-  for (i = 0; VEC_iterate (opt_t, *opts_p, i, o); i++)
+  FOR_EACH_VEC_ELT (opt_t, *opts_p, i, o)
     free (o->arg);
 
   VEC_free (opt_t, heap, *opts_p);
@@ -278,7 +278,7 @@ output_options (struct lto_output_stream *stream)
 
   output_data_stream (stream, &length, sizeof (length));
 
-  for (i = 0; VEC_iterate (opt_t, opts, i, o); i++)
+  FOR_EACH_VEC_ELT (opt_t, opts, i, o)
     {
       output_data_stream (stream, &o->type, sizeof (o->type));
       output_data_stream (stream, &o->code, sizeof (o->code));
@@ -397,7 +397,7 @@ lto_reissue_options (void)
   int i;
   opt_t *o;
 
-  for (i = 0; VEC_iterate (opt_t, opts, i, o); i++)
+  FOR_EACH_VEC_ELT (opt_t, opts, i, o)
     {
       const struct cl_option *option = &cl_options[o->code];
 
index 3451b84..9ee1510 100644 (file)
@@ -539,7 +539,7 @@ fixup_eh_region_pointers (struct function *fn, HOST_WIDE_INT root_region)
 
   /* Convert all the index numbers stored in pointer fields into
      pointers to the corresponding slots in the EH region array.  */
-  for (i = 0; VEC_iterate (eh_region, eh_array, i, r); i++)
+  FOR_EACH_VEC_ELT (eh_region, eh_array, i, r)
     {
       /* The array may contain NULL regions.  */
       if (r == NULL)
@@ -554,7 +554,7 @@ fixup_eh_region_pointers (struct function *fn, HOST_WIDE_INT root_region)
 
   /* Convert all the index numbers stored in pointer fields into
      pointers to the corresponding slots in the EH landing pad array.  */
-  for (i = 0; VEC_iterate (eh_landing_pad, lp_array, i, lp); i++)
+  FOR_EACH_VEC_ELT (eh_landing_pad, lp_array, i, lp)
     {
       /* The array may contain NULL landing pads.  */
       if (lp == NULL)
index 562e934..e00fd86 100644 (file)
@@ -1042,7 +1042,7 @@ lto_output_ts_block_tree_pointers (struct output_block *ob, tree expr,
   lto_output_chain (ob, BLOCK_VARS (expr), ref_p);
 
   output_uleb128 (ob, VEC_length (tree, BLOCK_NONLOCALIZED_VARS (expr)));
-  for (i = 0; VEC_iterate (tree, BLOCK_NONLOCALIZED_VARS (expr), i, t); i++)
+  FOR_EACH_VEC_ELT (tree, BLOCK_NONLOCALIZED_VARS (expr), i, t)
     lto_output_tree_or_ref (ob, t, ref_p);
 
   lto_output_tree_or_ref (ob, BLOCK_SUPERCONTEXT (expr), ref_p);
@@ -1067,7 +1067,7 @@ lto_output_ts_binfo_tree_pointers (struct output_block *ob, tree expr,
   /* Note that the number of BINFO slots has already been emitted in
      EXPR's header (see lto_output_tree_header) because this length
      is needed to build the empty BINFO node on the reader side.  */
-  for (i = 0; VEC_iterate (tree, BINFO_BASE_BINFOS (expr), i, t); i++)
+  FOR_EACH_VEC_ELT (tree, BINFO_BASE_BINFOS (expr), i, t)
     lto_output_tree_or_ref (ob, t, ref_p);
   output_zero (ob);
 
@@ -1077,7 +1077,7 @@ lto_output_ts_binfo_tree_pointers (struct output_block *ob, tree expr,
   lto_output_tree_or_ref (ob, BINFO_VPTR_FIELD (expr), ref_p);
 
   output_uleb128 (ob, VEC_length (tree, BINFO_BASE_ACCESSES (expr)));
-  for (i = 0; VEC_iterate (tree, BINFO_BASE_ACCESSES (expr), i, t); i++)
+  FOR_EACH_VEC_ELT (tree, BINFO_BASE_ACCESSES (expr), i, t)
     lto_output_tree_or_ref (ob, t, ref_p);
 
   lto_output_tree_or_ref (ob, BINFO_INHERITANCE_CHAIN (expr), ref_p);
@@ -1508,17 +1508,17 @@ output_eh_regions (struct output_block *ob, struct function *fn)
 
       /* Emit all the EH regions in the region array.  */
       output_sleb128 (ob, VEC_length (eh_region, fn->eh->region_array));
-      for (i = 0; VEC_iterate (eh_region, fn->eh->region_array, i, eh); i++)
+      FOR_EACH_VEC_ELT (eh_region, fn->eh->region_array, i, eh)
        output_eh_region (ob, eh);
 
       /* Emit all landing pads.  */
       output_sleb128 (ob, VEC_length (eh_landing_pad, fn->eh->lp_array));
-      for (i = 0; VEC_iterate (eh_landing_pad, fn->eh->lp_array, i, lp); i++)
+      FOR_EACH_VEC_ELT (eh_landing_pad, fn->eh->lp_array, i, lp)
        output_eh_lp (ob, lp);
 
       /* Emit all the runtime type data.  */
       output_sleb128 (ob, VEC_length (tree, fn->eh->ttype_data));
-      for (i = 0; VEC_iterate (tree, fn->eh->ttype_data, i, ttype); i++)
+      FOR_EACH_VEC_ELT (tree, fn->eh->ttype_data, i, ttype)
        lto_output_tree_ref (ob, ttype);
 
       /* Emit the table of action chains.  */
@@ -1526,16 +1526,14 @@ output_eh_regions (struct output_block *ob, struct function *fn)
        {
          tree t;
          output_sleb128 (ob, VEC_length (tree, fn->eh->ehspec_data.arm_eabi));
-         for (i = 0;
-              VEC_iterate (tree, fn->eh->ehspec_data.arm_eabi, i, t);
-              i++)
+         FOR_EACH_VEC_ELT (tree, fn->eh->ehspec_data.arm_eabi, i, t)
            lto_output_tree_ref (ob, t);
        }
       else
        {
          uchar c;
          output_sleb128 (ob, VEC_length (uchar, fn->eh->ehspec_data.other));
-         for (i = 0; VEC_iterate (uchar, fn->eh->ehspec_data.other, i, c); i++)
+         FOR_EACH_VEC_ELT (uchar, fn->eh->ehspec_data.other, i, c)
            lto_output_1_stream (ob->main_stream, c);
        }
     }
@@ -1908,7 +1906,7 @@ output_function (struct cgraph_node *node)
 
   /* Output all the local variables in the function.  */
   output_sleb128 (ob, VEC_length (tree, fn->local_decls));
-  for (i = 0; VEC_iterate (tree, fn->local_decls, i, t); i++)
+  FOR_EACH_VEC_ELT (tree, fn->local_decls, i, t)
     lto_output_tree_ref (ob, t);
 
   /* Output the head of the arguments list.  */
@@ -2013,7 +2011,7 @@ output_unreferenced_globals (cgraph_node_set set, varpool_node_set vset)
   output_zero (ob);
 
   /* Emit the alias pairs for the nodes in SET.  */
-  for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
+  FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
     {
       if (output_alias_pair_p (p, set, vset))
        {
@@ -2446,7 +2444,7 @@ produce_symtab (struct output_block *ob,
     }
 
   /* Write all aliases.  */
-  for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
+  FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
     if (output_alias_pair_p (p, set, vset))
       write_symbol (cache, &stream, p->decl, seen, true);
 
index 0536bb9..2b3d172 100644 (file)
@@ -643,7 +643,7 @@ lto_streamer_cache_create (void)
      unnecessarily.  */
   common_nodes = lto_get_common_nodes ();
 
-  for (i = 0; VEC_iterate (tree, common_nodes, i, node); i++)
+  FOR_EACH_VEC_ELT (tree, common_nodes, i, node)
     preload_common_node (cache, node);
 
   VEC_free(tree, heap, common_nodes);
index 9e782d5..bdfbd7d 100644 (file)
@@ -601,7 +601,7 @@ lto_symtab_merge_decls_2 (void **slot)
     return;
 
   /* Diagnose all mismatched re-declarations.  */
-  for (i = 0; VEC_iterate (tree, mismatches, i, decl); ++i)
+  FOR_EACH_VEC_ELT (tree, mismatches, i, decl)
     {
       if (!gimple_types_compatible_p (TREE_TYPE (prevailing->decl),
                                      TREE_TYPE (decl), GTC_DIAG))
index 2652a28..d2bb78e 100644 (file)
@@ -1,3 +1,7 @@
+2010-08-20  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * lto.c: Use FOR_EACH_VEC_ELT.
+
 2010-07-27  Andi Kleen <ak@linux.intel.com>
 
        * Make-lang.in (lto.o): Add dependency to splay-tree.h
index e4ee214..84a6e28 100644 (file)
@@ -1063,7 +1063,7 @@ lto_wpa_write_files (void)
      compiled by LTRANS.  After this loop, only those sets that
      contain callgraph nodes from more than one file will need to be
      compiled by LTRANS.  */
-  for (i = 0; VEC_iterate (ltrans_partition, ltrans_partitions, i, part); i++)
+  FOR_EACH_VEC_ELT (ltrans_partition, ltrans_partitions, i, part)
     lto_stats.num_output_cgraph_nodes += VEC_length (cgraph_node_ptr,
                                                     part->cgraph_set->nodes);
 
@@ -1592,7 +1592,7 @@ lto_fixup_decls (struct lto_file_decl_data **files)
       htab_traverse (file->function_decl_states, lto_fixup_state_aux, &data);
     }
 
-  for (i = 0; VEC_iterate (tree, lto_global_var_decls, i, decl); i++)
+  FOR_EACH_VEC_ELT (tree, lto_global_var_decls, i, decl)
     {
       tree saved_decl = decl;
       walk_tree (&decl, lto_fixup_tree, &data, NULL);
@@ -1892,7 +1892,7 @@ materialize_cgraph (void)
   set_cfun (NULL);
 
   /* Inform the middle end about the global variables we have seen.  */
-  for (i = 0; VEC_iterate (tree, lto_global_var_decls, i, decl); i++)
+  FOR_EACH_VEC_ELT (tree, lto_global_var_decls, i, decl)
     rest_of_decl_compilation (decl, 1, 0);
 
   if (!quiet_flag)
index 84c6e6e..3789af0 100644 (file)
@@ -890,9 +890,7 @@ analyze_transpose (void **slot, void *data ATTRIBUTE_UNUSED)
     {
       if (mi->access_l)
        {
-         for (i = 0;
-              VEC_iterate (access_site_info_p, mi->access_l, i, acc_info);
-              i++)
+         FOR_EACH_VEC_ELT (access_site_info_p, mi->access_l, i, acc_info)
            free (acc_info);
          VEC_free (access_site_info_p, heap, mi->access_l);
 
index d04e81c..d1f9568 100644 (file)
@@ -592,14 +592,10 @@ flag_instrument_functions_exclude_p (tree fndecl)
       char *s;
 
       name = lang_hooks.decl_printable_name (fndecl, 0);
-      for (i = 0;
-          VEC_iterate (char_p, flag_instrument_functions_exclude_functions,
-                       i, s);
-          ++i)
-       {
-         if (strstr (name, s) != NULL)
-           return true;
-       }
+      FOR_EACH_VEC_ELT (char_p, flag_instrument_functions_exclude_functions,
+                       i, s)
+       if (strstr (name, s) != NULL)
+         return true;
     }
 
   if (VEC_length (char_p, flag_instrument_functions_exclude_files) > 0)
@@ -609,13 +605,9 @@ flag_instrument_functions_exclude_p (tree fndecl)
       char *s;
 
       name = DECL_SOURCE_FILE (fndecl);
-      for (i = 0;
-          VEC_iterate (char_p, flag_instrument_functions_exclude_files, i, s);
-          ++i)
-       {
-         if (strstr (name, s) != NULL)
-           return true;
-       }
+      FOR_EACH_VEC_ELT (char_p, flag_instrument_functions_exclude_files, i, s)
+       if (strstr (name, s) != NULL)
+         return true;
     }
 
   return false;
index cd04be5..1b61ee4 100644 (file)
@@ -942,7 +942,7 @@ predict_loops (void)
       exits = get_loop_exit_edges (loop);
       n_exits = VEC_length (edge, exits);
 
-      for (j = 0; VEC_iterate (edge, exits, j, ex); j++)
+      FOR_EACH_VEC_ELT (edge, exits, j, ex)
        {
          tree niter = NULL;
          HOST_WIDE_INT nitercst;
index 10ac8f3..5ca762e 100644 (file)
@@ -1009,7 +1009,7 @@ print_vec_tree (FILE *file, const char *prefix, VEC(tree,gc) *vec, int indent)
   fprintf (file, "%s <VEC", prefix);
   dump_addr (file, " ", vec);
 
-  for (ix = 0; VEC_iterate (tree, vec, ix, elt); ++ix)
+  FOR_EACH_VEC_ELT (tree, vec, ix, elt)
     {
       char temp[10];
       sprintf (temp, "elt %d", ix);
index f7bf9e3..5d2896c 100644 (file)
@@ -1484,7 +1484,7 @@ sdbout_finish (const char *main_filename ATTRIBUTE_UNUSED)
   size_t i;
   tree decl;
 
-  for (i = 0; VEC_iterate (tree, deferred_global_decls, i, decl); i++)
+  FOR_EACH_VEC_ELT (tree, deferred_global_decls, i, decl)
     sdbout_symbol (decl, 0);
 }
 
index c9f6806..af76b5b 100644 (file)
@@ -467,7 +467,7 @@ dump_insn_vector (rtx_vec_t succs)
   int i;
   rtx succ;
 
-  for (i = 0; VEC_iterate (rtx, succs, i, succ); i++)
+  FOR_EACH_VEC_ELT (rtx, succs, i, succ)
     if (succ)
       dump_insn (succ);
     else
index 4e15eba..f23b7cf 100644 (file)
@@ -5822,7 +5822,7 @@ make_region_from_loop_preheader (VEC(basic_block, heap) **loop_blocks)
 
   new_rgn_number = sel_create_new_region ();
 
-  for (i = 0; VEC_iterate (basic_block, *loop_blocks, i, bb); i++)
+  FOR_EACH_VEC_ELT (basic_block, *loop_blocks, i, bb)
     {
       gcc_assert (new_rgn_number >= 0);
 
@@ -6167,7 +6167,7 @@ sel_remove_loop_preheader (void)
         {
           /* If all preheader blocks are empty - dont create new empty region.
              Instead, remove them completely.  */
-          for (i = 0; VEC_iterate (basic_block, preheader_blocks, i, bb); i++)
+          FOR_EACH_VEC_ELT (basic_block, preheader_blocks, i, bb)
             {
               edge e;
               edge_iterator ei;
index 449a362..0f02c0c 100644 (file)
@@ -2736,7 +2736,7 @@ compute_av_set_at_bb_end (insn_t insn, ilist_t p, int ws)
   /* Add insn to to the tail of current path.  */
   ilist_add (&p, insn);
 
-  for (is = 0; VEC_iterate (rtx, sinfo->succs_ok, is, succ); is++)
+  FOR_EACH_VEC_ELT (rtx, sinfo->succs_ok, is, succ)
     {
       av_set_t succ_set;
 
@@ -2790,7 +2790,7 @@ compute_av_set_at_bb_end (insn_t insn, ilist_t p, int ws)
   /* Check liveness restrictions via hard way when there are more than
      two successors.  */
   if (sinfo->succs_ok_n > 2)
-    for (is = 0; VEC_iterate (rtx, sinfo->succs_ok, is, succ); is++)
+    FOR_EACH_VEC_ELT (rtx, sinfo->succs_ok, is, succ)
       {
         basic_block succ_bb = BLOCK_FOR_INSN (succ);
 
@@ -2801,7 +2801,7 @@ compute_av_set_at_bb_end (insn_t insn, ilist_t p, int ws)
 
   /* Finally, check liveness restrictions on paths leaving the region.  */
   if (sinfo->all_succs_n > sinfo->succs_ok_n)
-    for (is = 0; VEC_iterate (rtx, sinfo->succs_other, is, succ); is++)
+    FOR_EACH_VEC_ELT (rtx, sinfo->succs_other, is, succ)
       mark_unavailable_targets
         (av1, NULL, BB_LV_SET (BLOCK_FOR_INSN (succ)));
 
@@ -3572,7 +3572,7 @@ vinsn_vec_has_expr_p (vinsn_vec_t vinsn_vec, expr_t expr)
   vinsn_t vinsn;
   int n;
 
-  for (n = 0; VEC_iterate (vinsn_t, vinsn_vec, n, vinsn); n++)
+  FOR_EACH_VEC_ELT (vinsn_t, vinsn_vec, n, vinsn)
     if (VINSN_SEPARABLE_P (vinsn))
       {
         if (vinsn_equal_p (vinsn, EXPR_VINSN (expr)))
@@ -3646,7 +3646,7 @@ vinsn_vec_clear (vinsn_vec_t *vinsn_vec)
       vinsn_t vinsn;
       int n;
 
-      for (n = 0; VEC_iterate (vinsn_t, *vinsn_vec, n, vinsn); n++)
+      FOR_EACH_VEC_ELT (vinsn_t, *vinsn_vec, n, vinsn)
         vinsn_detach (vinsn);
       VEC_block_remove (vinsn_t, *vinsn_vec, 0, len);
     }
@@ -3942,7 +3942,7 @@ fill_vec_av_set (av_set_t av, blist_t bnds, fence_t fence,
       sel_print ("Total ready exprs: %d, stalled: %d\n",
                  VEC_length (expr_t, vec_av_set), stalled);
       sel_print ("Sorted av set (%d): ", VEC_length (expr_t, vec_av_set));
-      for (n = 0; VEC_iterate (expr_t, vec_av_set, n, expr); n++)
+      FOR_EACH_VEC_ELT (expr_t, vec_av_set, n, expr)
         dump_expr (expr);
       sel_print ("\n");
     }
@@ -3971,7 +3971,7 @@ convert_vec_av_set_to_ready (void)
       sched_extend_ready_list (ready.n_ready);
     }
 
-  for (n = 0; VEC_iterate (expr_t, vec_av_set, n, expr); n++)
+  FOR_EACH_VEC_ELT (expr_t, vec_av_set, n, expr)
     {
       vinsn_t vi = EXPR_VINSN (expr);
       insn_t insn = VINSN_INSN_RTX (vi);
@@ -4951,7 +4951,7 @@ remove_temp_moveop_nops (bool full_tidying)
   int i;
   insn_t insn;
 
-  for (i = 0; VEC_iterate (insn_t, vec_temp_moveop_nops, i, insn); i++)
+  FOR_EACH_VEC_ELT (insn_t, vec_temp_moveop_nops, i, insn)
     {
       gcc_assert (INSN_NOP_P (insn));
       return_nop_to_pool (insn, full_tidying);
index 651b8fb..ffcb51c 100644 (file)
@@ -181,7 +181,7 @@ build_sese_loop_nests (sese region)
   /* Make sure that the loops in the SESE_LOOP_NEST are ordered.  It
      can be the case that an inner loop is inserted before an outer
      loop.  To avoid this, semi-sort once.  */
-  for (i = 0; VEC_iterate (loop_p, SESE_LOOP_NEST (region), i, loop0); i++)
+  FOR_EACH_VEC_ELT (loop_p, SESE_LOOP_NEST (region), i, loop0)
     {
       if (VEC_length (loop_p, SESE_LOOP_NEST (region)) == i + 1)
        break;
index d4b2662..09bb594 100644 (file)
@@ -258,7 +258,7 @@ self_referential_size (tree size)
   /* Build the parameter and argument lists in parallel; also
      substitute the former for the latter in the expression.  */
   args = VEC_alloc (tree, gc, VEC_length (tree, self_refs));
-  for (i = 0; VEC_iterate (tree, self_refs, i, ref); i++)
+  FOR_EACH_VEC_ELT (tree, self_refs, i, ref)
     {
       tree subst, param_name, param_type, param_decl;
 
index 34f982d..dfe6d8f 100644 (file)
@@ -6213,7 +6213,7 @@ move_sese_region_to_fn (struct function *dest_cfun, basic_block entry_bb,
     {
       eh_region region = NULL;
 
-      for (i = 0; VEC_iterate (basic_block, bbs, i, bb); i++)
+      FOR_EACH_VEC_ELT (basic_block, bbs, i, bb)
        region = find_outermost_region_in_block (saved_cfun, bb, region);
 
       init_eh_for_function ();
@@ -6242,7 +6242,7 @@ move_sese_region_to_fn (struct function *dest_cfun, basic_block entry_bb,
   d.eh_map = eh_map;
   d.remap_decls_p = true;
 
-  for (i = 0; VEC_iterate (basic_block, bbs, i, bb); i++)
+  FOR_EACH_VEC_ELT (basic_block, bbs, i, bb)
     {
       /* No need to update edge counts on the last block.  It has
         already been updated earlier when we detached the region from
@@ -6307,7 +6307,7 @@ move_sese_region_to_fn (struct function *dest_cfun, basic_block entry_bb,
     }
 
   set_immediate_dominator (CDI_DOMINATORS, bb, dom_entry);
-  for (i = 0; VEC_iterate (basic_block, dom_bbs, i, abb); i++)
+  FOR_EACH_VEC_ELT (basic_block, dom_bbs, i, abb)
     set_immediate_dominator (CDI_DOMINATORS, abb, bb);
   VEC_free (basic_block, heap, dom_bbs);
 
@@ -6917,7 +6917,7 @@ remove_edge_and_dominated_blocks (edge e)
   else
     {
       bbs_to_remove = get_all_dominated_blocks (CDI_DOMINATORS, e->dest);
-      for (i = 0; VEC_iterate (basic_block, bbs_to_remove, i, bb); i++)
+      FOR_EACH_VEC_ELT (basic_block, bbs_to_remove, i, bb)
        {
          FOR_EACH_EDGE (f, ei, bb->succs)
            {
@@ -6925,7 +6925,7 @@ remove_edge_and_dominated_blocks (edge e)
                bitmap_set_bit (df, f->dest->index);
            }
        }
-      for (i = 0; VEC_iterate (basic_block, bbs_to_remove, i, bb); i++)
+      FOR_EACH_VEC_ELT (basic_block, bbs_to_remove, i, bb)
        bitmap_clear_bit (df, bb->index);
 
       EXECUTE_IF_SET_IN_BITMAP (df, 0, i, bi)
index f798b2f..3c1ca2d 100644 (file)
@@ -901,7 +901,7 @@ remove_forwarder_block_with_phi (basic_block bb)
                 redirection, replace it with the PHI argument that used
                 to be on E.  */
              head = redirect_edge_var_map_vector (e);
-             for (i = 0; VEC_iterate (edge_var_map, head, i, vm); ++i)
+             FOR_EACH_VEC_ELT (edge_var_map, head, i, vm)
                {
                  tree old_arg = redirect_edge_var_map_result (vm);
                  tree new_arg = redirect_edge_var_map_def (vm);
index 92f8de9..7295510 100644 (file)
@@ -659,7 +659,7 @@ chrec_apply_map (tree chrec, VEC (tree, heap) *iv_map)
   int i;
   tree expr;
 
-  for (i = 0; VEC_iterate (tree, iv_map, i, expr); i++)
+  FOR_EACH_VEC_ELT (tree, iv_map, i, expr)
     if (expr)
       chrec = chrec_apply (i, chrec, expr);
 
index 2656350..025368d 100644 (file)
@@ -152,7 +152,7 @@ dump_data_references (FILE *file, VEC (data_reference_p, heap) *datarefs)
   unsigned int i;
   struct data_reference *dr;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     dump_data_reference (file, dr);
 }
 
@@ -181,7 +181,7 @@ dump_data_dependence_relations (FILE *file,
   unsigned int i;
   struct data_dependence_relation *ddr;
 
-  for (i = 0; VEC_iterate (ddr_p, ddrs, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, ddrs, i, ddr)
     dump_data_dependence_relation (file, ddr);
 }
 
@@ -342,7 +342,7 @@ print_dir_vectors (FILE *outf, VEC (lambda_vector, heap) *dir_vects,
   unsigned j;
   lambda_vector v;
 
-  for (j = 0; VEC_iterate (lambda_vector, dir_vects, j, v); j++)
+  FOR_EACH_VEC_ELT (lambda_vector, dir_vects, j, v)
     print_direction_vector (outf, v, length);
 }
 
@@ -355,7 +355,7 @@ print_dist_vectors  (FILE *outf, VEC (lambda_vector, heap) *dist_vects,
   unsigned j;
   lambda_vector v;
 
-  for (j = 0; VEC_iterate (lambda_vector, dist_vects, j, v); j++)
+  FOR_EACH_VEC_ELT (lambda_vector, dist_vects, j, v)
     print_lambda_vector (outf, v, length);
 }
 
@@ -420,7 +420,7 @@ dump_data_dependence_relation (FILE *outf,
 
       fprintf (outf, "  inner loop index: %d\n", DDR_INNER_LOOP (ddr));
       fprintf (outf, "  loop nest: (");
-      for (i = 0; VEC_iterate (loop_p, DDR_LOOP_NEST (ddr), i, loopi); i++)
+      FOR_EACH_VEC_ELT (loop_p, DDR_LOOP_NEST (ddr), i, loopi)
        fprintf (outf, "%d ", loopi->num);
       fprintf (outf, ")\n");
 
@@ -495,17 +495,17 @@ dump_dist_dir_vectors (FILE *file, VEC (ddr_p, heap) *ddrs)
   struct data_dependence_relation *ddr;
   lambda_vector v;
 
-  for (i = 0; VEC_iterate (ddr_p, ddrs, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, ddrs, i, ddr)
     if (DDR_ARE_DEPENDENT (ddr) == NULL_TREE && DDR_AFFINE_P (ddr))
       {
-       for (j = 0; VEC_iterate (lambda_vector, DDR_DIST_VECTS (ddr), j, v); j++)
+       FOR_EACH_VEC_ELT (lambda_vector, DDR_DIST_VECTS (ddr), j, v)
          {
            fprintf (file, "DISTANCE_V (");
            print_lambda_vector (file, v, DDR_NB_LOOPS (ddr));
            fprintf (file, ")\n");
          }
 
-       for (j = 0; VEC_iterate (lambda_vector, DDR_DIR_VECTS (ddr), j, v); j++)
+       FOR_EACH_VEC_ELT (lambda_vector, DDR_DIR_VECTS (ddr), j, v)
          {
            fprintf (file, "DIRECTION_V (");
            print_direction_vector (file, v, DDR_NB_LOOPS (ddr));
@@ -524,7 +524,7 @@ dump_ddrs (FILE *file, VEC (ddr_p, heap) *ddrs)
   unsigned int i;
   struct data_dependence_relation *ddr;
 
-  for (i = 0; VEC_iterate (ddr_p, ddrs, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, ddrs, i, ddr)
     dump_data_dependence_relation (file, ddr);
 
   fprintf (file, "\n\n");
@@ -923,7 +923,7 @@ dr_address_invariant_p (struct data_reference *dr)
   unsigned i;
   tree idx;
 
-  for (i = 0; VEC_iterate (tree, DR_ACCESS_FNS (dr), i, idx); i++)
+  FOR_EACH_VEC_ELT (tree, DR_ACCESS_FNS (dr), i, idx)
     if (tree_contains_chrecs (idx, NULL))
       return false;
 
@@ -1506,7 +1506,7 @@ free_subscripts (VEC (subscript_p, heap) *subscripts)
   unsigned i;
   subscript_p s;
 
-  for (i = 0; VEC_iterate (subscript_p, subscripts, i, s); i++)
+  FOR_EACH_VEC_ELT (subscript_p, subscripts, i, s)
     {
       free_conflict_function (s->conflicting_iterations_in_a);
       free_conflict_function (s->conflicting_iterations_in_b);
@@ -2841,7 +2841,7 @@ save_dist_v (struct data_dependence_relation *ddr, lambda_vector dist_v)
   unsigned i;
   lambda_vector v;
 
-  for (i = 0; VEC_iterate (lambda_vector, DDR_DIST_VECTS (ddr), i, v); i++)
+  FOR_EACH_VEC_ELT (lambda_vector, DDR_DIST_VECTS (ddr), i, v)
     if (lambda_vector_equal (v, dist_v, DDR_NB_LOOPS (ddr)))
       return;
 
@@ -2856,7 +2856,7 @@ save_dir_v (struct data_dependence_relation *ddr, lambda_vector dir_v)
   unsigned i;
   lambda_vector v;
 
-  for (i = 0; VEC_iterate (lambda_vector, DDR_DIR_VECTS (ddr), i, v); i++)
+  FOR_EACH_VEC_ELT (lambda_vector, DDR_DIR_VECTS (ddr), i, v)
     if (lambda_vector_equal (v, dir_v, DDR_NB_LOOPS (ddr)))
       return;
 
@@ -3319,7 +3319,7 @@ build_classic_dir_vector (struct data_dependence_relation *ddr)
   unsigned i, j;
   lambda_vector dist_v;
 
-  for (i = 0; VEC_iterate (lambda_vector, DDR_DIST_VECTS (ddr), i, dist_v); i++)
+  FOR_EACH_VEC_ELT (lambda_vector, DDR_DIST_VECTS (ddr), i, dist_v)
     {
       lambda_vector dir_v = lambda_vector_new (DDR_NB_LOOPS (ddr));
 
@@ -3421,7 +3421,7 @@ access_functions_are_affine_or_constant_p (const struct data_reference *a,
   VEC(tree,heap) *fns = DR_ACCESS_FNS (a);
   tree t;
 
-  for (i = 0; VEC_iterate (tree, fns, i, t); i++)
+  FOR_EACH_VEC_ELT (tree, fns, i, t)
     if (!evolution_function_is_invariant_p (t, loop_nest->num)
        && !evolution_function_is_affine_multivariate_p (t, loop_nest->num))
       return false;
@@ -3883,7 +3883,7 @@ ddr_consistent_p (FILE *file,
               DDR_NUM_DIST_VECTS (ddr));
 
       fprintf (file, "Banerjee dist vectors:\n");
-      for (i = 0; VEC_iterate (lambda_vector, dist_vects, i, b_dist_v); i++)
+      FOR_EACH_VEC_ELT (lambda_vector, dist_vects, i, b_dist_v)
        print_lambda_vector (file, b_dist_v, DDR_NB_LOOPS (ddr));
 
       fprintf (file, "Omega dist vectors:\n");
@@ -3912,7 +3912,7 @@ ddr_consistent_p (FILE *file,
 
       /* Distance vectors are not ordered in the same way in the DDR
         and in the DIST_VECTS: search for a matching vector.  */
-      for (j = 0; VEC_iterate (lambda_vector, dist_vects, j, a_dist_v); j++)
+      FOR_EACH_VEC_ELT (lambda_vector, dist_vects, j, a_dist_v)
        if (lambda_vector_equal (a_dist_v, b_dist_v, DDR_NB_LOOPS (ddr)))
          break;
 
@@ -3935,7 +3935,7 @@ ddr_consistent_p (FILE *file,
 
       /* Direction vectors are not ordered in the same way in the DDR
         and in the DIR_VECTS: search for a matching vector.  */
-      for (j = 0; VEC_iterate (lambda_vector, dir_vects, j, a_dir_v); j++)
+      FOR_EACH_VEC_ELT (lambda_vector, dir_vects, j, a_dir_v)
        if (lambda_vector_equal (a_dir_v, b_dir_v, DDR_NB_LOOPS (ddr)))
          break;
 
@@ -4105,7 +4105,7 @@ compute_all_dependences (VEC (data_reference_p, heap) *datarefs,
   struct data_reference *a, *b;
   unsigned int i, j;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, a); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, a)
     for (j = i + 1; VEC_iterate (data_reference_p, datarefs, j, b); j++)
       if (!DR_IS_READ (a) || !DR_IS_READ (b) || compute_self_and_rr)
        {
@@ -4116,7 +4116,7 @@ compute_all_dependences (VEC (data_reference_p, heap) *datarefs,
        }
 
   if (compute_self_and_rr)
-    for (i = 0; VEC_iterate (data_reference_p, datarefs, i, a); i++)
+    FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, a)
       {
        ddr = initialize_data_dependence_relation (a, a, loop_nest);
        VEC_safe_push (ddr_p, heap, *dependence_relations, ddr);
@@ -4214,7 +4214,7 @@ find_data_references_in_stmt (struct loop *nest, gimple stmt,
       return false;
     }
 
-  for (i = 0; VEC_iterate (data_ref_loc, references, i, ref); i++)
+  FOR_EACH_VEC_ELT (data_ref_loc, references, i, ref)
     {
       dr = create_data_ref (nest, *ref->pos, stmt, ref->is_read);
       gcc_assert (dr != NULL);
@@ -4257,7 +4257,7 @@ graphite_find_data_references_in_stmt (struct loop *nest, gimple stmt,
       return false;
     }
 
-  for (i = 0; VEC_iterate (data_ref_loc, references, i, ref); i++)
+  FOR_EACH_VEC_ELT (data_ref_loc, references, i, ref)
     {
       dr = create_data_ref (nest, *ref->pos, stmt, ref->is_read);
       gcc_assert (dr != NULL);
@@ -4526,7 +4526,7 @@ analyze_all_data_dependences (struct loop *loop)
          unsigned nb_chrec_relations = 0;
          struct data_dependence_relation *ddr;
 
-         for (i = 0; VEC_iterate (ddr_p, dependence_relations, i, ddr); i++)
+         FOR_EACH_VEC_ELT (ddr_p, dependence_relations, i, ddr)
            {
              if (chrec_contains_undetermined (DDR_ARE_DEPENDENT (ddr)))
                nb_top_relations++;
@@ -4587,7 +4587,7 @@ free_dependence_relations (VEC (ddr_p, heap) *dependence_relations)
   struct data_dependence_relation *ddr;
   VEC (loop_p, heap) *loop_nest = NULL;
 
-  for (i = 0; VEC_iterate (ddr_p, dependence_relations, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, dependence_relations, i, ddr)
     {
       if (ddr == NULL)
        continue;
@@ -4612,7 +4612,7 @@ free_data_refs (VEC (data_reference_p, heap) *datarefs)
   unsigned int i;
   struct data_reference *dr;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     free_data_ref (dr);
   VEC_free (data_reference_p, heap, datarefs);
 }
@@ -4814,7 +4814,7 @@ create_rdg_edges (struct graph *rdg, VEC (ddr_p, heap) *ddrs)
   def_operand_p def_p;
   ssa_op_iter iter;
 
-  for (i = 0; VEC_iterate (ddr_p, ddrs, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, ddrs, i, ddr)
     if (DDR_ARE_DEPENDENT (ddr) == NULL_TREE)
       create_rdg_edge_for_ddr (rdg, ddr);
 
@@ -4832,7 +4832,7 @@ create_rdg_vertices (struct graph *rdg, VEC (gimple, heap) *stmts)
   int i, j;
   gimple stmt;
 
-  for (i = 0; VEC_iterate (gimple, stmts, i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, stmts, i, stmt)
     {
       VEC (data_ref_loc, heap) *references;
       data_ref_loc *ref;
@@ -4858,7 +4858,7 @@ create_rdg_vertices (struct graph *rdg, VEC (gimple, heap) *stmts)
        continue;
 
       get_references_in_stmt (stmt, &references);
-      for (j = 0; VEC_iterate (data_ref_loc, references, j, ref); j++)
+      FOR_EACH_VEC_ELT (data_ref_loc, references, j, ref)
        if (!ref->is_read)
          RDG_MEM_WRITE_STMT (rdg, i) = true;
        else
@@ -4908,7 +4908,7 @@ known_dependences_p (VEC (ddr_p, heap) *dependence_relations)
   ddr_p ddr;
   unsigned int i;
 
-  for (i = 0; VEC_iterate (ddr_p, dependence_relations, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, dependence_relations, i, ddr)
     if (DDR_ARE_DEPENDENT (ddr) == chrec_dont_know)
       return false;
 
@@ -5142,12 +5142,12 @@ have_similar_memory_accesses (gimple s1, gimple s2)
   get_references_in_stmt (s1, &refs1);
   get_references_in_stmt (s2, &refs2);
 
-  for (i = 0; VEC_iterate (data_ref_loc, refs1, i, ref1); i++)
+  FOR_EACH_VEC_ELT (data_ref_loc, refs1, i, ref1)
     {
       tree base1 = ref_base_address (s1, ref1);
 
       if (base1)
-       for (j = 0; VEC_iterate (data_ref_loc, refs2, j, ref2); j++)
+       FOR_EACH_VEC_ELT (data_ref_loc, refs2, j, ref2)
          if (base1 == ref_base_address (s2, ref2))
            {
              res = true;
@@ -5183,7 +5183,7 @@ ref_base_address_1 (const void *s)
 
   get_references_in_stmt (stmt, &refs);
 
-  for (i = 0; VEC_iterate (data_ref_loc, refs, i, ref); i++)
+  FOR_EACH_VEC_ELT (data_ref_loc, refs, i, ref)
     if (!ref->is_read)
       {
        res = htab_hash_pointer (ref_base_address (stmt, ref));
@@ -5233,7 +5233,7 @@ access_matrix_get_index_for_parameter (tree parameter,
   VEC (tree,heap) *lambda_parameters = AM_PARAMETERS (access_matrix);
   tree lambda_parameter;
 
-  for (i = 0; VEC_iterate (tree, lambda_parameters, i, lambda_parameter); i++)
+  FOR_EACH_VEC_ELT (tree, lambda_parameters, i, lambda_parameter)
     if (lambda_parameter == parameter)
       return i + AM_NB_INDUCTION_VARS (access_matrix);
 
index 17f97be..ec4e0ad 100644 (file)
@@ -714,7 +714,7 @@ ipa_lower_emutls (void)
   VEC_safe_grow (tree, heap, access_vars, n_tls);
 
   /* Create the control variables for each TLS variable.  */
-  for (i = 0; VEC_iterate (varpool_node_ptr, tls_vars->nodes, i, var); ++i)
+  FOR_EACH_VEC_ELT (varpool_node_ptr, tls_vars->nodes, i, var)
     {
       tree cdecl;
       struct varpool_node *cvar;
@@ -750,7 +750,7 @@ ipa_lower_emutls (void)
   if (any_aliases)
     {
       alias_pair *p;
-      for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); ++i)
+      FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
        if (DECL_THREAD_LOCAL_P (p->decl))
          {
            p->decl = emutls_decl (p->decl);
index a4785d8..3784bc5 100644 (file)
@@ -2370,7 +2370,7 @@ copy_debug_stmts (copy_body_data *id)
   if (!id->debug_stmts)
     return;
 
-  for (i = 0; VEC_iterate (gimple, id->debug_stmts, i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, id->debug_stmts, i, stmt)
     copy_debug_stmt (stmt, id);
 
   VEC_free (gimple, heap, id->debug_stmts);
index 948398c..cbd629c 100644 (file)
@@ -1992,7 +1992,7 @@ rewrite_update_phi_arguments (basic_block bb)
        continue;
 
       phis = VEC_index (gimple_vec, phis_to_rewrite, e->dest->index);
-      for (i = 0; VEC_iterate (gimple, phis, i, phi); i++)
+      FOR_EACH_VEC_ELT (gimple, phis, i, phi)
        {
          tree arg, lhs_sym, reaching_def = NULL;
          use_operand_p arg_p;
index 88c77a4..63f7178 100644 (file)
@@ -517,7 +517,7 @@ mark_nodes_having_upstream_mem_writes (struct graph *rdg)
 
        graphds_dfs (rdg, &v, 1, &nodes, false, NULL);
 
-       for (i = 0; VEC_iterate (int, nodes, i, x); i++)
+       FOR_EACH_VEC_ELT (int, nodes, i, x)
          {
            if (!bitmap_set_bit (seen, x))
              continue;
@@ -672,7 +672,7 @@ rdg_flag_vertex_and_dependent (struct graph *rdg, int v, bitmap partition,
   graphds_dfs (rdg, &v, 1, &nodes, false, remaining_stmts);
   rdg_flag_vertex (rdg, v, partition, loops, part_has_writes);
 
-  for (i = 0; VEC_iterate (int, nodes, i, x); i++)
+  FOR_EACH_VEC_ELT (int, nodes, i, x)
     if (!already_processed_vertex_p (processed, x))
       rdg_flag_vertex_and_dependent (rdg, x, partition, loops, processed,
                                     part_has_writes);
@@ -690,7 +690,7 @@ collect_condition_stmts (struct loop *loop, VEC (gimple, heap) **conds)
   edge e;
   VEC (edge, heap) *exits = get_loop_exit_edges (loop);
 
-  for (i = 0; VEC_iterate (edge, exits, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, e)
     {
       gimple cond = last_stmt (e->src);
 
@@ -771,7 +771,7 @@ rdg_flag_similar_memory_accesses (struct graph *rdg, bitmap partition,
 
              /* Remove from OTHER_STORES the vertex that we flagged.  */
              if (RDG_MEM_WRITE_STMT (rdg, j))
-               for (k = 0; VEC_iterate (int, *other_stores, k, kk); k++)
+               FOR_EACH_VEC_ELT (int, *other_stores, k, kk)
                  if (kk == j)
                    {
                      VEC_unordered_remove (int, *other_stores, k);
@@ -802,7 +802,7 @@ build_rdg_partition_for_component (struct graph *rdg, rdgc c,
   bitmap loops = BITMAP_ALLOC (NULL);
   bitmap processed = BITMAP_ALLOC (NULL);
 
-  for (i = 0; VEC_iterate (int, c->vertices, i, v); i++)
+  FOR_EACH_VEC_ELT (int, c->vertices, i, v)
     if (!already_processed_vertex_p (processed, v))
       rdg_flag_vertex_and_dependent (rdg, v, partition, loops, processed,
                                     part_has_writes);
@@ -829,7 +829,7 @@ free_rdg_components (VEC (rdgc, heap) *components)
   int i;
   rdgc x;
 
-  for (i = 0; VEC_iterate (rdgc, components, i, x); i++)
+  FOR_EACH_VEC_ELT (rdgc, components, i, x)
     {
       VEC_free (int, heap, x->vertices);
       free (x);
@@ -854,7 +854,7 @@ rdg_build_components (struct graph *rdg, VEC (int, heap) *starting_vertices,
   for (i = 0; i < rdg->n_vertices; i++)
     VEC_safe_push (int, heap, all_components[rdg->vertices[i].component], i);
 
-  for (i = 0; VEC_iterate (int, starting_vertices, i, v); i++)
+  FOR_EACH_VEC_ELT (int, starting_vertices, i, v)
     {
       int c = rdg->vertices[v].component;
 
@@ -889,7 +889,7 @@ rdg_build_partitions (struct graph *rdg, VEC (rdgc, heap) *components,
   rdgc x;
   bitmap partition = BITMAP_ALLOC (NULL);
 
-  for (i = 0; VEC_iterate (rdgc, components, i, x); i++)
+  FOR_EACH_VEC_ELT (rdgc, components, i, x)
     {
       bitmap np;
       bool part_has_writes = false;
@@ -955,7 +955,7 @@ dump_rdg_partitions (FILE *file, VEC (bitmap, heap) *partitions)
   int i;
   bitmap partition;
 
-  for (i = 0; VEC_iterate (bitmap, partitions, i, partition); i++)
+  FOR_EACH_VEC_ELT (bitmap, partitions, i, partition)
     debug_bitmap_file (file, partition);
 }
 
@@ -1019,7 +1019,7 @@ partition_contains_all_rw (struct graph *rdg, VEC (bitmap, heap) *partitions)
   bitmap partition;
   int nrw = number_of_rw_in_rdg (rdg);
 
-  for (i = 0; VEC_iterate (bitmap, partitions, i, partition); i++)
+  FOR_EACH_VEC_ELT (bitmap, partitions, i, partition)
     if (nrw == number_of_rw_in_partition (rdg, partition))
       return true;
 
@@ -1054,7 +1054,7 @@ ldist_gen (struct loop *loop, struct graph *rdg,
          unsigned j;
          bool found = false;
 
-         for (j = 0; VEC_iterate (int, starting_vertices, j, v); j++)
+         FOR_EACH_VEC_ELT (int, starting_vertices, j, v)
            if (i == v)
              {
                found = true;
@@ -1080,7 +1080,7 @@ ldist_gen (struct loop *loop, struct graph *rdg,
   if (dump_file && (dump_flags & TDF_DETAILS))
     dump_rdg_partitions (dump_file, partitions);
 
-  for (i = 0; VEC_iterate (bitmap, partitions, i, partition); i++)
+  FOR_EACH_VEC_ELT (bitmap, partitions, i, partition)
     if (!generate_code_for_partition (loop, partition, i < nbp - 1))
       goto ldist_done;
 
@@ -1092,7 +1092,7 @@ ldist_gen (struct loop *loop, struct graph *rdg,
   BITMAP_FREE (remaining_stmts);
   BITMAP_FREE (upstream_mem_writes);
 
-  for (i = 0; VEC_iterate (bitmap, partitions, i, partition); i++)
+  FOR_EACH_VEC_ELT (bitmap, partitions, i, partition)
     BITMAP_FREE (partition);
 
   VEC_free (int, heap, other_stores);
@@ -1143,7 +1143,7 @@ distribute_loop (struct loop *loop, VEC (gimple, heap) *stmts)
   if (dump_file && (dump_flags & TDF_DETAILS))
     dump_rdg (dump_file, rdg);
 
-  for (i = 0; VEC_iterate (gimple, stmts, i, s); i++)
+  FOR_EACH_VEC_ELT (gimple, stmts, i, s)
     {
       int v = rdg_vertex_for_stmt (rdg, s);
 
index 03759de..a411c25 100644 (file)
@@ -99,7 +99,7 @@ gather_interchange_stats (VEC (ddr_p, heap) *dependence_relations ATTRIBUTE_UNUS
   *nb_deps_not_carried_by_loop = 0;
   *access_strides = double_int_zero;
 
-  for (i = 0; VEC_iterate (ddr_p, dependence_relations, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, dependence_relations, i, ddr)
     {
       /* If we don't know anything about this dependence, or the distance
         vector is NULL, or there is no dependence, then there is no reuse of
@@ -125,7 +125,7 @@ gather_interchange_stats (VEC (ddr_p, heap) *dependence_relations ATTRIBUTE_UNUS
     }
 
   /* Compute the access strides.  */
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       unsigned int it;
       tree ref = DR_REF (dr);
@@ -414,7 +414,7 @@ linear_transform_loops (void)
       VEC_free (loop_p, heap, nest);
     }
 
-  for (i = 0; VEC_iterate (gimple, remove_ivs, i, oldiv_stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, remove_ivs, i, oldiv_stmt)
     remove_iv (oldiv_stmt);
 
   VEC_free (tree, heap, oldivs);
index 99c5bce..f65d1da 100644 (file)
@@ -1327,7 +1327,7 @@ mudflap_finish_file (void)
     {
       size_t i;
       tree obj;
-      for (i = 0; VEC_iterate (tree, deferred_static_decls, i, obj); i++)
+      FOR_EACH_VEC_ELT (tree, deferred_static_decls, i, obj)
         {
           gcc_assert (DECL_P (obj));
 
index e5a35f4..87ccb21 100644 (file)
@@ -403,7 +403,7 @@ elim_graph_add_node (elim_graph g, int node)
   int x;
   int t;
 
-  for (x = 0; VEC_iterate (int, g->nodes, x, t); x++)
+  FOR_EACH_VEC_ELT (int, g->nodes, x, t)
     if (t == node)
       return;
   VEC_safe_push (int, heap, g->nodes, node);
@@ -678,7 +678,7 @@ eliminate_phi (edge e, elim_graph g)
       sbitmap_zero (g->visited);
       VEC_truncate (int, g->stack, 0);
 
-      for (x = 0; VEC_iterate (int, g->nodes, x, part); x++)
+      FOR_EACH_VEC_ELT (int, g->nodes, x, part)
         {
          if (!TEST_BIT (g->visited, part))
            elim_forward (g, part);
index af27086..4fc67a3 100644 (file)
@@ -549,7 +549,7 @@ eliminate_local_variables (edge entry, edge exit)
 
   gather_blocks_in_sese_region (entry_bb, exit_bb, &body);
 
-  for (i = 0; VEC_iterate (basic_block, body, i, bb); i++)
+  FOR_EACH_VEC_ELT (basic_block, body, i, bb)
     if (bb != entry_bb && bb != exit_bb)
       for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
        eliminate_local_variables_stmt (entry, gsi_stmt (gsi),
@@ -1087,7 +1087,7 @@ separate_decls_in_region (edge entry, edge exit, htab_t reduction_list,
   entry = single_succ_edge (entry_bb);
   gather_blocks_in_sese_region (entry_bb, exit_bb, &body);
 
-  for (i = 0; VEC_iterate (basic_block, body, i, bb); i++)
+  FOR_EACH_VEC_ELT (basic_block, body, i, bb)
     {
       if (bb != entry_bb && bb != exit_bb)
        {
@@ -1115,7 +1115,7 @@ separate_decls_in_region (edge entry, edge exit, htab_t reduction_list,
      and discard those for which we know there's nothing we can
      do.  */
   if (has_debug_stmt)
-    for (i = 0; VEC_iterate (basic_block, body, i, bb); i++)
+    FOR_EACH_VEC_ELT (basic_block, body, i, bb)
       if (bb != entry_bb && bb != exit_bb)
        {
          for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi);)
index 49683d5..712cc68 100644 (file)
@@ -420,7 +420,7 @@ dump_chain (FILE *file, chain_p chain)
   if (chain->vars)
     {
       fprintf (file, "  vars");
-      for (i = 0; VEC_iterate (tree, chain->vars, i, var); i++)
+      FOR_EACH_VEC_ELT (tree, chain->vars, i, var)
        {
          fprintf (file, " ");
          print_generic_expr (file, var, TDF_SLIM);
@@ -431,7 +431,7 @@ dump_chain (FILE *file, chain_p chain)
   if (chain->inits)
     {
       fprintf (file, "  inits");
-      for (i = 0; VEC_iterate (tree, chain->inits, i, var); i++)
+      FOR_EACH_VEC_ELT (tree, chain->inits, i, var)
        {
          fprintf (file, " ");
          print_generic_expr (file, var, TDF_SLIM);
@@ -440,7 +440,7 @@ dump_chain (FILE *file, chain_p chain)
     }
 
   fprintf (file, "  references:\n");
-  for (i = 0; VEC_iterate (dref, chain->refs, i, a); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, a)
     dump_dref (file, a);
 
   fprintf (file, "\n");
@@ -455,7 +455,7 @@ dump_chains (FILE *file, VEC (chain_p, heap) *chains)
   chain_p chain;
   unsigned i;
 
-  for (i = 0; VEC_iterate (chain_p, chains, i, chain); i++)
+  FOR_EACH_VEC_ELT (chain_p, chains, i, chain)
     dump_chain (file, chain);
 }
 
@@ -470,7 +470,7 @@ dump_component (FILE *file, struct component *comp)
 
   fprintf (file, "Component%s:\n",
           comp->comp_step == RS_INVARIANT ? " (invariant)" : "");
-  for (i = 0; VEC_iterate (dref, comp->refs, i, a); i++)
+  FOR_EACH_VEC_ELT (dref, comp->refs, i, a)
     dump_dref (file, a);
   fprintf (file, "\n");
 }
@@ -498,7 +498,7 @@ release_chain (chain_p chain)
   if (chain == NULL)
     return;
 
-  for (i = 0; VEC_iterate (dref, chain->refs, i, ref); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, ref)
     free (ref);
 
   VEC_free (dref, heap, chain->refs);
@@ -516,7 +516,7 @@ release_chains (VEC (chain_p, heap) *chains)
   unsigned i;
   chain_p chain;
 
-  for (i = 0; VEC_iterate (chain_p, chains, i, chain); i++)
+  FOR_EACH_VEC_ELT (chain_p, chains, i, chain)
     release_chain (chain);
   VEC_free (chain_p, heap, chains);
 }
@@ -682,7 +682,7 @@ last_always_executed_block (struct loop *loop)
   edge ex;
   basic_block last = loop->latch;
 
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     last = nearest_common_dominator (CDI_DOMINATORS, last, ex->src);
   VEC_free (edge, heap, exits);
 
@@ -707,7 +707,7 @@ split_data_refs_to_components (struct loop *loop,
   dref dataref;
   basic_block last_always_executed = last_always_executed_block (loop);
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       if (!DR_REF (dr))
        {
@@ -724,7 +724,7 @@ split_data_refs_to_components (struct loop *loop,
   comp_father[n] = n;
   comp_size[n] = 1;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       enum ref_step_type dummy;
 
@@ -735,7 +735,7 @@ split_data_refs_to_components (struct loop *loop,
        }
     }
 
-  for (i = 0; VEC_iterate (ddr_p, depends, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, depends, i, ddr)
     {
       double_int dummy_off;
 
@@ -762,7 +762,7 @@ split_data_refs_to_components (struct loop *loop,
 
   comps = XCNEWVEC (struct component *, n);
   bad = component_of (comp_father, n);
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       ia = (unsigned) (size_t) dr->aux;
       ca = component_of (comp_father, ia);
@@ -819,7 +819,7 @@ suitable_component_p (struct loop *loop, struct component *comp)
   basic_block ba, bp = loop->header;
   bool ok, has_write = false;
 
-  for (i = 0; VEC_iterate (dref, comp->refs, i, a); i++)
+  FOR_EACH_VEC_ELT (dref, comp->refs, i, a)
     {
       ba = gimple_bb (a->stmt);
 
@@ -883,7 +883,7 @@ filter_suitable_components (struct loop *loop, struct component *comps)
          unsigned i;
 
          *comp = act->next;
-         for (i = 0; VEC_iterate (dref, act->refs, i, ref); i++)
+         FOR_EACH_VEC_ELT (dref, act->refs, i, ref)
            free (ref);
          release_component (act);
        }
@@ -963,7 +963,7 @@ make_invariant_chain (struct component *comp)
 
   chain->all_always_accessed = true;
 
-  for (i = 0; VEC_iterate (dref, comp->refs, i, ref); i++)
+  FOR_EACH_VEC_ELT (dref, comp->refs, i, ref)
     {
       VEC_safe_push (dref, heap, chain->refs, ref);
       chain->all_always_accessed &= ref->always_accessed;
@@ -1135,7 +1135,7 @@ insert_looparound_copy (chain_p chain, dref ref, gimple phi)
   nw->distance = ref->distance + 1;
   nw->always_accessed = 1;
 
-  for (i = 0; VEC_iterate (dref, chain->refs, i, aref); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, aref)
     if (aref->distance >= nw->distance)
       break;
   VEC_safe_insert (dref, heap, chain->refs, i, nw);
@@ -1159,7 +1159,7 @@ add_looparound_copies (struct loop *loop, chain_p chain)
   dref ref, root = get_chain_root (chain);
   gimple phi;
 
-  for (i = 0; VEC_iterate (dref, chain->refs, i, ref); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, ref)
     {
       phi = find_looparound_phi (loop, ref, root);
       if (!phi)
@@ -1195,7 +1195,7 @@ determine_roots_comp (struct loop *loop,
   qsort (VEC_address (dref, comp->refs), VEC_length (dref, comp->refs),
         sizeof (dref), order_drefs);
 
-  for (i = 0; VEC_iterate (dref, comp->refs, i, a); i++)
+  FOR_EACH_VEC_ELT (dref, comp->refs, i, a)
     {
       if (!chain || !DR_IS_READ (a->ref)
          || double_int_ucmp (uhwi_to_double_int (MAX_DISTANCE),
@@ -1506,7 +1506,7 @@ initialize_root_vars (struct loop *loop, chain_p chain, bitmap tmp_vars)
   if (reuse_first)
     VEC_quick_push (tree, chain->vars, VEC_index (tree, chain->vars, 0));
 
-  for (i = 0; VEC_iterate (tree, chain->vars, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, chain->vars, i, var)
     VEC_replace (tree, chain->vars, i, make_ssa_name (var, NULL));
 
   for (i = 0; i < n; i++)
@@ -1571,7 +1571,7 @@ initialize_root_vars_lm (struct loop *loop, dref root, bool written,
   if (written)
     VEC_quick_push (tree, *vars, VEC_index (tree, *vars, 0));
 
-  for (i = 0; VEC_iterate (tree, *vars, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, *vars, i, var)
     VEC_replace (tree, *vars, i, make_ssa_name (var, NULL));
 
   var = VEC_index (tree, *vars, 0);
@@ -1610,7 +1610,7 @@ execute_load_motion (struct loop *loop, chain_p chain, bitmap tmp_vars)
 
   gcc_assert (chain->type == CT_INVARIANT);
   gcc_assert (!chain->combined);
-  for (i = 0; VEC_iterate (dref, chain->refs, i, a); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, a)
     if (!DR_IS_READ (a->ref))
       n_writes++;
 
@@ -1622,7 +1622,7 @@ execute_load_motion (struct loop *loop, chain_p chain, bitmap tmp_vars)
                           &vars, chain->inits, tmp_vars);
 
   ridx = 0;
-  for (i = 0; VEC_iterate (dref, chain->refs, i, a); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, a)
     {
       bool is_read = DR_IS_READ (a->ref);
       mark_virtual_ops_for_renaming (a->stmt);
@@ -1777,7 +1777,7 @@ determine_unroll_factor (VEC (chain_p, heap) *chains)
   unsigned factor = 1, af, nfactor, i;
   unsigned max = PARAM_VALUE (PARAM_MAX_UNROLL_TIMES);
 
-  for (i = 0; VEC_iterate (chain_p, chains, i, chain); i++)
+  FOR_EACH_VEC_ELT (chain_p, chains, i, chain)
     {
       if (chain->type == CT_INVARIANT || chain->combined)
        continue;
@@ -1806,7 +1806,7 @@ execute_pred_commoning (struct loop *loop, VEC (chain_p, heap) *chains,
   chain_p chain;
   unsigned i;
 
-  for (i = 0; VEC_iterate (chain_p, chains, i, chain); i++)
+  FOR_EACH_VEC_ELT (chain_p, chains, i, chain)
     {
       if (chain->type == CT_INVARIANT)
        execute_load_motion (loop, chain, tmp_vars);
@@ -1827,8 +1827,8 @@ replace_phis_by_defined_names (VEC (chain_p, heap) *chains)
   dref a;
   unsigned i, j;
 
-  for (i = 0; VEC_iterate (chain_p, chains, i, chain); i++)
-    for (j = 0; VEC_iterate (dref, chain->refs, j, a); j++)
+  FOR_EACH_VEC_ELT (chain_p, chains, i, chain)
+    FOR_EACH_VEC_ELT (dref, chain->refs, j, a)
       {
        if (gimple_code (a->stmt) == GIMPLE_PHI)
          {
@@ -1848,8 +1848,8 @@ replace_names_by_phis (VEC (chain_p, heap) *chains)
   dref a;
   unsigned i, j;
 
-  for (i = 0; VEC_iterate (chain_p, chains, i, chain); i++)
-    for (j = 0; VEC_iterate (dref, chain->refs, j, a); j++)
+  FOR_EACH_VEC_ELT (chain_p, chains, i, chain)
+    FOR_EACH_VEC_ELT (dref, chain->refs, j, a)
       if (a->stmt == NULL)
        {
          a->stmt = SSA_NAME_DEF_STMT (a->name_defined_by_phi);
@@ -2338,7 +2338,7 @@ try_combine_chains (VEC (chain_p, heap) **chains)
   chain_p ch1, ch2, cch;
   VEC (chain_p, heap) *worklist = NULL;
 
-  for (i = 0; VEC_iterate (chain_p, *chains, i, ch1); i++)
+  FOR_EACH_VEC_ELT (chain_p, *chains, i, ch1)
     if (chain_can_be_combined_p (ch1))
       VEC_safe_push (chain_p, heap, worklist, ch1);
 
@@ -2348,7 +2348,7 @@ try_combine_chains (VEC (chain_p, heap) **chains)
       if (!chain_can_be_combined_p (ch1))
        continue;
 
-      for (j = 0; VEC_iterate (chain_p, *chains, j, ch2); j++)
+      FOR_EACH_VEC_ELT (chain_p, *chains, j, ch2)
        {
          if (!chain_can_be_combined_p (ch2))
            continue;
@@ -2385,7 +2385,7 @@ prepare_initializers_chain (struct loop *loop, chain_p chain)
 
   /* If we have replaced some looparound phi nodes, use their initializers
      instead of creating our own.  */
-  for (i = 0; VEC_iterate (dref, chain->refs, i, laref); i++)
+  FOR_EACH_VEC_ELT (dref, chain->refs, i, laref)
     {
       if (gimple_code (laref->stmt) != GIMPLE_PHI)
        continue;
index 1dc6121..2182fef 100644 (file)
@@ -538,7 +538,7 @@ dump_block_node (pretty_printer *buffer, tree block, int spc, int flags)
       VEC(tree,gc) *nlv = BLOCK_NONLOCALIZED_VARS (block);
 
       pp_string (buffer, "NONLOCALIZED_VARS: ");
-      for (i = 0; VEC_iterate (tree, nlv, i, t); i++)
+      FOR_EACH_VEC_ELT (tree, nlv, i, t)
        {
          dump_generic_node (buffer, t, 0, flags, false);
          pp_string (buffer, " ");
index edf8b3e..c7f45f2 100644 (file)
@@ -2809,7 +2809,7 @@ number_of_iterations_for_all_loops (VEC(gimple,heap) **exit_conditions)
   unsigned nb_static_loops = 0;
   gimple cond;
 
-  for (i = 0; VEC_iterate (gimple, *exit_conditions, i, cond); i++)
+  FOR_EACH_VEC_ELT (gimple, *exit_conditions, i, cond)
     {
       tree res = number_of_latch_executions (loop_containing_stmt (cond));
       if (chrec_contains_undetermined (res))
@@ -2963,7 +2963,7 @@ analyze_scalar_evolution_for_all_loop_phi_nodes (VEC(gimple,heap) **exit_conditi
 
   reset_chrecs_counters (&stats);
 
-  for (i = 0; VEC_iterate (gimple, *exit_conditions, i, cond); i++)
+  FOR_EACH_VEC_ELT (gimple, *exit_conditions, i, cond)
     {
       struct loop *loop;
       basic_block bb;
index fb99e16..1eb6822 100644 (file)
@@ -1272,7 +1272,7 @@ dump_enumerated_decls (FILE *file, int flags)
 
       fprintf (file, "Declarations used by %s, sorted by DECL_UID:\n",
               current_function_name ());
-      for (ix = 0; VEC_iterate (numbered_tree, decl_list, ix, ntp); ix++)
+      FOR_EACH_VEC_ELT (numbered_tree, decl_list, ix, ntp)
        {
          if (ntp->t == last)
            continue;
index 2e65d10..477c4d2 100644 (file)
@@ -1442,7 +1442,7 @@ free_mem_ref_locs (mem_ref_locs_p accs)
   if (!accs)
     return;
 
-  for (i = 0; VEC_iterate (mem_ref_loc_p, accs->locs, i, loc); i++)
+  FOR_EACH_VEC_ELT (mem_ref_loc_p, accs->locs, i, loc)
     free (loc);
   VEC_free (mem_ref_loc_p, heap, accs->locs);
   free (accs);
@@ -1463,7 +1463,7 @@ memref_free (void *obj)
   BITMAP_FREE (mem->indep_ref);
   BITMAP_FREE (mem->dep_ref);
 
-  for (i = 0; VEC_iterate (mem_ref_locs_p, mem->accesses_in_loop, i, accs); i++)
+  FOR_EACH_VEC_ELT (mem_ref_locs_p, mem->accesses_in_loop, i, accs)
     free_mem_ref_locs (accs);
   VEC_free (mem_ref_locs_p, heap, mem->accesses_in_loop);
 
@@ -1929,7 +1929,7 @@ get_all_locs_in_loop (struct loop *loop, mem_ref_p ref,
       accs = VEC_index (mem_ref_locs_p, ref->accesses_in_loop, loop->num);
       if (accs)
        {
-         for (i = 0; VEC_iterate (mem_ref_loc_p, accs->locs, i, loc); i++)
+         FOR_EACH_VEC_ELT (mem_ref_loc_p, accs->locs, i, loc)
            VEC_safe_push (mem_ref_loc_p, heap, *locs, loc);
        }
     }
@@ -1948,7 +1948,7 @@ rewrite_mem_refs (struct loop *loop, mem_ref_p ref, tree tmp_var)
   VEC (mem_ref_loc_p, heap) *locs = NULL;
 
   get_all_locs_in_loop (loop, ref, &locs);
-  for (i = 0; VEC_iterate (mem_ref_loc_p, locs, i, loc); i++)
+  FOR_EACH_VEC_ELT (mem_ref_loc_p, locs, i, loc)
     rewrite_mem_ref_loc (loc, tmp_var);
   VEC_free (mem_ref_loc_p, heap, locs);
 }
@@ -2113,7 +2113,7 @@ execute_sm (struct loop *loop, VEC (edge, heap) *exits, mem_ref_p ref)
      all dependencies.  */
   gsi_insert_on_edge (loop_latch_edge (loop), load);
 
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     {
       store = gimple_build_assign (unshare_expr (ref->mem), tmp_var);
       gsi_insert_on_edge (ex, store);
@@ -2157,7 +2157,7 @@ ref_always_accessed_p (struct loop *loop, mem_ref_p ref, bool stored_p)
     base = TREE_OPERAND (base, 0);
 
   get_all_locs_in_loop (loop, ref, &locs);
-  for (i = 0; VEC_iterate (mem_ref_loc_p, locs, i, loc); i++)
+  FOR_EACH_VEC_ELT (mem_ref_loc_p, locs, i, loc)
     {
       if (!get_lim_data (loc->stmt))
        continue;
@@ -2378,7 +2378,7 @@ loop_suitable_for_sm (struct loop *loop ATTRIBUTE_UNUSED,
   unsigned i;
   edge ex;
 
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     if (ex->flags & EDGE_ABNORMAL)
       return false;
 
@@ -2545,19 +2545,19 @@ tree_ssa_lim_finalize (void)
   VEC_free (mem_ref_p, heap, memory_accesses.refs_list);
   htab_delete (memory_accesses.refs);
 
-  for (i = 0; VEC_iterate (bitmap, memory_accesses.refs_in_loop, i, b); i++)
+  FOR_EACH_VEC_ELT (bitmap, memory_accesses.refs_in_loop, i, b)
     BITMAP_FREE (b);
   VEC_free (bitmap, heap, memory_accesses.refs_in_loop);
 
-  for (i = 0; VEC_iterate (bitmap, memory_accesses.all_refs_in_loop, i, b); i++)
+  FOR_EACH_VEC_ELT (bitmap, memory_accesses.all_refs_in_loop, i, b)
     BITMAP_FREE (b);
   VEC_free (bitmap, heap, memory_accesses.all_refs_in_loop);
 
-  for (i = 0; VEC_iterate (bitmap, memory_accesses.clobbered_vops, i, b); i++)
+  FOR_EACH_VEC_ELT (bitmap, memory_accesses.clobbered_vops, i, b)
     BITMAP_FREE (b);
   VEC_free (bitmap, heap, memory_accesses.clobbered_vops);
 
-  for (i = 0; VEC_iterate (htab_t, memory_accesses.vop_ref_map, i, h); i++)
+  FOR_EACH_VEC_ELT (htab_t, memory_accesses.vop_ref_map, i, h)
     htab_delete (h);
   VEC_free (htab_t, heap, memory_accesses.vop_ref_map);
 
index 0599a36..b0d45bc 100644 (file)
@@ -403,7 +403,7 @@ try_unroll_loop_completely (struct loop *loop,
          return false;
        }
 
-      for (i = 0; VEC_iterate (edge, to_remove, i, e); i++)
+      FOR_EACH_VEC_ELT (edge, to_remove, i, e)
        {
          bool ok = remove_path (e);
          gcc_assert (ok);
index f0c3ca9..a347c86 100644 (file)
@@ -6247,7 +6247,7 @@ free_loop_data (struct ivopts_data *data)
 
   data->max_inv_id = 0;
 
-  for (i = 0; VEC_iterate (tree, decl_rtl_to_reset, i, obj); i++)
+  FOR_EACH_VEC_ELT (tree, decl_rtl_to_reset, i, obj)
     SET_DECL_RTL (obj, NULL_RTX);
 
   VEC_truncate (tree, decl_rtl_to_reset, 0);
index c6dc8ed..dd2d3ce 100644 (file)
@@ -1045,7 +1045,7 @@ tree_transform_and_unroll_loop (struct loop *loop, unsigned factor,
   free (wont_exit);
   gcc_assert (ok);
 
-  for (i = 0; VEC_iterate (edge, to_remove, i, e); i++)
+  FOR_EACH_VEC_ELT (edge, to_remove, i, e)
     {
       ok = remove_path (e);
       gcc_assert (ok);
index 6ec0575..2630faf 100644 (file)
@@ -1907,7 +1907,7 @@ find_loop_niter (struct loop *loop, edge *exit)
   struct tree_niter_desc desc;
 
   *exit = NULL;
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     {
       if (!just_once_each_iteration_p (loop, ex->src))
        continue;
@@ -1984,7 +1984,7 @@ finite_loop_p (struct loop *loop)
     }
 
   exits = get_loop_exit_edges (loop);
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     {
       if (!just_once_each_iteration_p (loop, ex->src))
        continue;
@@ -2264,7 +2264,7 @@ find_loop_niter_by_eval (struct loop *loop, edge *exit)
       && VEC_length (edge, exits) > 1)
     return chrec_dont_know;
 
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     {
       if (!just_once_each_iteration_p (loop, ex->src))
        continue;
@@ -2920,7 +2920,7 @@ estimate_numbers_of_iterations_loop (struct loop *loop)
   loop->any_estimate = false;
 
   exits = get_loop_exit_edges (loop);
-  for (i = 0; VEC_iterate (edge, exits, i, ex); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, ex)
     {
       if (!number_of_iterations_exit (loop, ex, &niter_desc, false))
        continue;
index 4840704..9ad6cd2 100644 (file)
@@ -1196,7 +1196,7 @@ emit_mfence_after_loop (struct loop *loop)
   gimple_stmt_iterator bsi;
   unsigned i;
 
-  for (i = 0; VEC_iterate (edge, exits, i, exit); i++)
+  FOR_EACH_VEC_ELT (edge, exits, i, exit)
     {
       call = gimple_build_call (FENCE_FOLLOWING_MOVNT, 0);
 
@@ -1233,7 +1233,7 @@ may_use_storent_in_loop_p (struct loop *loop)
       unsigned i;
       edge exit;
 
-      for (i = 0; VEC_iterate (edge, exits, i, exit); i++)
+      FOR_EACH_VEC_ELT (edge, exits, i, exit)
        if ((exit->flags & EDGE_ABNORMAL)
            && exit->dest == EXIT_BLOCK_PTR)
          ret = false;
@@ -1452,7 +1452,7 @@ self_reuse_distance (data_reference_p dr, unsigned *loop_sizes, unsigned n,
   strides = XCNEWVEC (HOST_WIDE_INT, n);
   access_fns = DR_ACCESS_FNS (dr);
 
-  for (i = 0; VEC_iterate (tree, access_fns, i, access_fn); i++)
+  FOR_EACH_VEC_ELT (tree, access_fns, i, access_fn)
     {
       /* Keep track of the reference corresponding to the subscript, so that we
         know its stride.  */
@@ -1574,7 +1574,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs,
          no_other_refs = false;
       }
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       dist = self_reuse_distance (dr, loop_data_size, n, loop);
       ref = (struct mem_ref *) dr->aux;
@@ -1587,7 +1587,7 @@ determine_loop_nest_reuse (struct loop *loop, struct mem_ref_group *refs,
 
   compute_all_dependences (datarefs, &dependences, vloops, true);
 
-  for (i = 0; VEC_iterate (ddr_p, dependences, i, dep); i++)
+  FOR_EACH_VEC_ELT (ddr_p, dependences, i, dep)
     {
       if (DDR_ARE_DEPENDENT (dep) == chrec_known)
        continue;
index 84f22b9..614546b 100644 (file)
@@ -392,7 +392,7 @@ tree_ssa_phiprop (void)
   /* Walk the dominator tree in preorder.  */
   bbs = get_all_dominated_blocks (CDI_DOMINATORS,
                                  single_succ (ENTRY_BLOCK_PTR));
-  for (i = 0; VEC_iterate (basic_block, bbs, i, bb); ++i)
+  FOR_EACH_VEC_ELT (basic_block, bbs, i, bb)
     for (gsi = gsi_start_phis (bb); !gsi_end_p (gsi); gsi_next (&gsi))
       did_something |= propagate_with_phi (bb, gsi_stmt (gsi), phivn, n);
 
index b00307a..6d48123 100644 (file)
@@ -1886,7 +1886,7 @@ phi_translate_set (bitmap_set_t dest, bitmap_set_t set, basic_block pred,
     }
 
   exprs = sorted_array_from_bitmap_set (set);
-  for (i = 0; VEC_iterate (pre_expr, exprs, i, expr); i++)
+  FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
       pre_expr translated;
       translated = phi_translate (expr, set, NULL, pred, phiblock);
@@ -2150,7 +2150,7 @@ valid_in_sets (bitmap_set_t set1, bitmap_set_t set2, pre_expr expr,
        vn_reference_op_t vro;
        unsigned int i;
 
-       for (i = 0; VEC_iterate (vn_reference_op_s, ref->operands, i, vro); i++)
+       FOR_EACH_VEC_ELT (vn_reference_op_s, ref->operands, i, vro)
          {
            if (!vro_valid_in_sets (set1, set2, vro))
              return false;
@@ -2184,7 +2184,7 @@ dependent_clean (bitmap_set_t set1, bitmap_set_t set2, basic_block block)
   pre_expr expr;
   int i;
 
-  for (i = 0; VEC_iterate (pre_expr, exprs, i, expr); i++)
+  FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
       if (!valid_in_sets (set1, set2, expr, block))
        bitmap_remove_from_set (set1, expr);
@@ -2203,7 +2203,7 @@ clean (bitmap_set_t set, basic_block block)
   pre_expr expr;
   int i;
 
-  for (i = 0; VEC_iterate (pre_expr, exprs, i, expr); i++)
+  FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
       if (!valid_in_sets (set, NULL, expr, block))
        bitmap_remove_from_set (set, expr);
@@ -2337,7 +2337,7 @@ compute_antic_aux (basic_block block, bool block_has_abnormal_pred_edge)
       else
        bitmap_set_copy (ANTIC_OUT, ANTIC_IN (first));
 
-      for (i = 0; VEC_iterate (basic_block, worklist, i, bprime); i++)
+      FOR_EACH_VEC_ELT (basic_block, worklist, i, bprime)
        {
          if (!gimple_seq_empty_p (phi_nodes (bprime)))
            {
@@ -2480,7 +2480,7 @@ compute_partial_antic_aux (basic_block block,
        }
       if (VEC_length (basic_block, worklist) > 0)
        {
-         for (i = 0; VEC_iterate (basic_block, worklist, i, bprime); i++)
+         FOR_EACH_VEC_ELT (basic_block, worklist, i, bprime)
            {
              unsigned int i;
              bitmap_iterator bi;
@@ -3259,7 +3259,7 @@ inhibit_phi_insertion (basic_block bb, pre_expr expr)
      memory reference is a simple induction variable.  In other
      cases the vectorizer won't do anything anyway (either it's
      loop invariant or a complicated expression).  */
-  for (i = 0; VEC_iterate (vn_reference_op_s, ops, i, op); ++i)
+  FOR_EACH_VEC_ELT (vn_reference_op_s, ops, i, op)
     {
       switch (op->opcode)
        {
@@ -3546,7 +3546,7 @@ do_regular_insertion (basic_block block, basic_block dom)
   pre_expr expr;
   int i;
 
-  for (i = 0; VEC_iterate (pre_expr, exprs, i, expr); i++)
+  FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
       if (expr->kind != NAME)
        {
@@ -3692,7 +3692,7 @@ do_partial_partial_insertion (basic_block block, basic_block dom)
   pre_expr expr;
   int i;
 
-  for (i = 0; VEC_iterate (pre_expr, exprs, i, expr); i++)
+  FOR_EACH_VEC_ELT (pre_expr, exprs, i, expr)
     {
       if (expr->kind != NAME)
        {
@@ -4473,7 +4473,7 @@ eliminate (void)
   /* We cannot remove stmts during BB walk, especially not release SSA
      names there as this confuses the VN machinery.  The stmts ending
      up in to_remove are either stores or simple copies.  */
-  for (i = 0; VEC_iterate (gimple, to_remove, i, stmt); ++i)
+  FOR_EACH_VEC_ELT (gimple, to_remove, i, stmt)
     {
       tree lhs = gimple_assign_lhs (stmt);
       tree rhs = gimple_assign_rhs1 (stmt);
index adc5a8d..fd0a6d8 100644 (file)
@@ -1016,7 +1016,7 @@ undistribute_ops_list (enum tree_code opcode,
   candidates = sbitmap_alloc (length);
   sbitmap_zero (candidates);
   nr_candidates = 0;
-  for (i = 0; VEC_iterate (operand_entry_t, *ops, i, oe1); ++i)
+  FOR_EACH_VEC_ELT (operand_entry_t, *ops, i, oe1)
     {
       enum tree_code dcode;
       gimple oe1def;
@@ -1067,7 +1067,7 @@ undistribute_ops_list (enum tree_code opcode,
       linearize_expr_tree (&subops[i], oedef,
                           associative_tree_code (oecode), false);
 
-      for (j = 0; VEC_iterate (operand_entry_t, subops[i], j, oe1); ++j)
+      FOR_EACH_VEC_ELT (operand_entry_t, subops[i], j, oe1)
        {
          oecount c;
          void **slot;
@@ -1100,7 +1100,7 @@ undistribute_ops_list (enum tree_code opcode,
     {
       oecount *c;
       fprintf (dump_file, "Candidates:\n");
-      for (j = 0; VEC_iterate (oecount, cvec, j, c); ++j)
+      FOR_EACH_VEC_ELT (oecount, cvec, j, c)
        {
          fprintf (dump_file, "  %u %s: ", c->cnt,
                   c->oecode == MULT_EXPR
@@ -1139,7 +1139,7 @@ undistribute_ops_list (enum tree_code opcode,
          if (oecode != c->oecode)
            continue;
 
-         for (j = 0; VEC_iterate (operand_entry_t, subops[i], j, oe1); ++j)
+         FOR_EACH_VEC_ELT (operand_entry_t, subops[i], j, oe1)
            {
              if (oe1->op == c->op)
                {
@@ -1864,7 +1864,7 @@ repropagate_negates (void)
   unsigned int i = 0;
   tree negate;
 
-  for (i = 0; VEC_iterate (tree, plus_negates, i, negate); i++)
+  FOR_EACH_VEC_ELT (tree, plus_negates, i, negate)
     {
       gimple user = get_single_immediate_use (negate);
 
@@ -2148,7 +2148,7 @@ dump_ops_vector (FILE *file, VEC (operand_entry_t, heap) *ops)
   operand_entry_t oe;
   unsigned int i;
 
-  for (i = 0; VEC_iterate (operand_entry_t, ops, i, oe); i++)
+  FOR_EACH_VEC_ELT (operand_entry_t, ops, i, oe)
     {
       fprintf (file, "Op %d -> rank: %d, tree: ", i, oe->rank);
       print_generic_expr (file, oe->op, 0);
index 21662d6..cbf0e25 100644 (file)
@@ -432,7 +432,7 @@ vn_reference_compute_hash (const vn_reference_t vr1)
   HOST_WIDE_INT off = -1;
   bool deref = false;
 
-  for (i = 0; VEC_iterate (vn_reference_op_s, vr1->operands, i, vro); i++)
+  FOR_EACH_VEC_ELT (vn_reference_op_s, vr1->operands, i, vro)
     {
       if (vro->opcode == MEM_REF)
        deref = true;
@@ -769,7 +769,7 @@ ao_ref_init_from_vn_reference (ao_ref *ref,
 
   /* Compute cumulative bit-offset for nested component-refs and array-refs,
      and find the ultimate containing object.  */
-  for (i = 0; VEC_iterate (vn_reference_op_s, ops, i, op); ++i)
+  FOR_EACH_VEC_ELT (vn_reference_op_s, ops, i, op)
     {
       switch (op->opcode)
        {
@@ -1140,7 +1140,7 @@ valueize_refs (VEC (vn_reference_op_s, heap) *orig)
   vn_reference_op_t vro;
   unsigned int i;
 
-  for (i = 0; VEC_iterate (vn_reference_op_s, orig, i, vro); i++)
+  FOR_EACH_VEC_ELT (vn_reference_op_s, orig, i, vro)
     {
       if (vro->opcode == SSA_NAME
          || (vro->op0 && TREE_CODE (vro->op0) == SSA_NAME))
@@ -1436,7 +1436,7 @@ vn_reference_lookup_3 (ao_ref *ref, tree vuse, void *vr_)
       else
        VEC_truncate (vn_reference_op_s, vr->operands,
                      i + 1 + VEC_length (vn_reference_op_s, rhs));
-      for (j = 0; VEC_iterate (vn_reference_op_s, rhs, j, vro); ++j)
+      FOR_EACH_VEC_ELT (vn_reference_op_s, rhs, j, vro)
        VEC_replace (vn_reference_op_s, vr->operands, i + 1 + j, vro);
       VEC_free (vn_reference_op_s, heap, rhs);
       vr->hashcode = vn_reference_compute_hash (vr);
@@ -1933,7 +1933,7 @@ vn_phi_compute_hash (vn_phi_t vp1)
             + (INTEGRAL_TYPE_P (type)
                ? TYPE_PRECISION (type) + TYPE_UNSIGNED (type) : 0));
 
-  for (i = 0; VEC_iterate (tree, vp1->phiargs, i, phi1op); i++)
+  FOR_EACH_VEC_ELT (tree, vp1->phiargs, i, phi1op)
     {
       if (phi1op == VN_TOP)
        continue;
@@ -1976,7 +1976,7 @@ vn_phi_eq (const void *p1, const void *p2)
 
       /* Any phi in the same block will have it's arguments in the
         same edge order, because of how we store phi nodes.  */
-      for (i = 0; VEC_iterate (tree, vp1->phiargs, i, phi1op); i++)
+      FOR_EACH_VEC_ELT (tree, vp1->phiargs, i, phi1op)
        {
          tree phi2op = VEC_index (tree, vp2->phiargs, i);
          if (phi1op == VN_TOP || phi2op == VN_TOP)
@@ -2067,7 +2067,7 @@ print_scc (FILE *out, VEC (tree, heap) *scc)
   unsigned int i;
 
   fprintf (out, "SCC consists of: ");
-  for (i = 0; VEC_iterate (tree, scc, i, var); i++)
+  FOR_EACH_VEC_ELT (tree, scc, i, var)
     {
       print_generic_expr (out, var, 0);
       fprintf (out, " ");
@@ -3131,9 +3131,9 @@ process_scc (VEC (tree, heap) *scc)
       gcc_obstack_init (&optimistic_info->nary_obstack);
       empty_alloc_pool (optimistic_info->phis_pool);
       empty_alloc_pool (optimistic_info->references_pool);
-      for (i = 0; VEC_iterate (tree, scc, i, var); i++)
+      FOR_EACH_VEC_ELT (tree, scc, i, var)
        VN_INFO (var)->expr = NULL_TREE;
-      for (i = 0; VEC_iterate (tree, scc, i, var); i++)
+      FOR_EACH_VEC_ELT (tree, scc, i, var)
        changed |= visit_use (var);
     }
 
index 37fc6f8..ef09014 100644 (file)
@@ -814,7 +814,7 @@ dump_constraint_graph (FILE *file)
   /* Go over the list of constraints printing the edges in the constraint
      graph.  */
   fprintf (file, "\n  // The constraint edges:\n");
-  for (i = 0; VEC_iterate (constraint_t, constraints, i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, constraints, i, c)
     if (c)
       dump_constraint_edge (file, c);
 
@@ -939,7 +939,7 @@ constraint_set_union (VEC(constraint_t,heap) **to,
   int i;
   constraint_t c;
 
-  for (i = 0; VEC_iterate (constraint_t, *from, i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, *from, i, c)
     {
       if (constraint_vec_find (*to, *c) == NULL)
        {
@@ -1096,7 +1096,7 @@ merge_node_constraints (constraint_graph_t graph, unsigned int to,
   gcc_assert (find (from) == to);
 
   /* Move all complex constraints from src node into to node  */
-  for (i = 0; VEC_iterate (constraint_t, graph->complex[from], i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, graph->complex[from], i, c)
     {
       /* In complex constraints for node src, we may have either
         a = *src, and *src = a, or an offseted constraint which are
@@ -1280,7 +1280,7 @@ build_pred_graph (void)
   for (j = 0; j < VEC_length (varinfo_t, varmap); j++)
     graph->indirect_cycles[j] = -1;
 
-  for (i = 0; VEC_iterate (constraint_t, constraints, i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, constraints, i, c)
     {
       struct constraint_expr lhs = c->lhs;
       struct constraint_expr rhs = c->rhs;
@@ -1359,7 +1359,7 @@ build_succ_graph (void)
   unsigned i, t;
   constraint_t c;
 
-  for (i = 0; VEC_iterate (constraint_t, constraints, i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, constraints, i, c)
     {
       struct constraint_expr lhs;
       struct constraint_expr rhs;
@@ -2437,7 +2437,7 @@ move_complex_constraints (constraint_graph_t graph)
   int i;
   constraint_t c;
 
-  for (i = 0; VEC_iterate (constraint_t, constraints, i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, constraints, i, c)
     {
       if (c)
        {
@@ -2478,7 +2478,7 @@ rewrite_constraints (constraint_graph_t graph,
   for (j = 0; j < graph->size; j++)
     gcc_assert (find (j) == j);
 
-  for (i = 0; VEC_iterate (constraint_t, constraints, i, c); i++)
+  FOR_EACH_VEC_ELT (constraint_t, constraints, i, c)
     {
       struct constraint_expr lhs = c->lhs;
       struct constraint_expr rhs = c->rhs;
@@ -2654,7 +2654,7 @@ solve_graph (constraint_graph_t graph)
              solution_empty = bitmap_empty_p (solution);
 
              /* Process the complex constraints */
-             for (j = 0; VEC_iterate (constraint_t, complex, j, c); j++)
+             FOR_EACH_VEC_ELT (constraint_t, complex, j, c)
                {
                  /* XXX: This is going to unsort the constraints in
                     some cases, which will occasionally add duplicate
@@ -3239,7 +3239,7 @@ do_deref (VEC (ce_s, heap) **constraints)
   struct constraint_expr *c;
   unsigned int i = 0;
 
-  for (i = 0; VEC_iterate (ce_s, *constraints, i, c); i++)
+  FOR_EACH_VEC_ELT (ce_s, *constraints, i, c)
     {
       if (c->type == SCALAR)
        c->type = DEREF;
@@ -3270,7 +3270,7 @@ get_constraint_for_address_of (tree t, VEC (ce_s, heap) **results)
 
   get_constraint_for_1 (t, results, true);
 
-  for (i = 0; VEC_iterate (ce_s, *results, i, c); i++)
+  FOR_EACH_VEC_ELT (ce_s, *results, i, c)
     {
       if (c->type == DEREF)
        c->type = SCALAR;
@@ -3383,7 +3383,7 @@ get_constraint_for_1 (tree t, VEC (ce_s, heap) **results, bool address_p)
                  struct constraint_expr *rhsp;
                  unsigned j;
                  get_constraint_for_1 (val, &tmp, address_p);
-                 for (j = 0; VEC_iterate (ce_s, tmp, j, rhsp); ++j)
+                 FOR_EACH_VEC_ELT (ce_s, tmp, j, rhsp)
                    VEC_safe_push (ce_s, heap, *results, rhsp);
                  VEC_truncate (ce_s, tmp, 0);
                }
@@ -3435,17 +3435,17 @@ process_all_all_constraints (VEC (ce_s, heap) *lhsc, VEC (ce_s, heap) *rhsc)
   if (VEC_length (ce_s, lhsc) <= 1
       || VEC_length (ce_s, rhsc) <= 1)
     {
-      for (i = 0; VEC_iterate (ce_s, lhsc, i, lhsp); ++i)
-       for (j = 0; VEC_iterate (ce_s, rhsc, j, rhsp); ++j)
+      FOR_EACH_VEC_ELT (ce_s, lhsc, i, lhsp)
+       FOR_EACH_VEC_ELT (ce_s, rhsc, j, rhsp)
          process_constraint (new_constraint (*lhsp, *rhsp));
     }
   else
     {
       struct constraint_expr tmp;
       tmp = new_scalar_tmp_constraint_exp ("allalltmp");
-      for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); ++i)
+      FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
        process_constraint (new_constraint (tmp, *rhsp));
-      for (i = 0; VEC_iterate (ce_s, lhsc, i, lhsp); ++i)
+      FOR_EACH_VEC_ELT (ce_s, lhsc, i, lhsp)
        process_constraint (new_constraint (*lhsp, tmp));
     }
 }
@@ -3532,7 +3532,7 @@ make_constraint_to (unsigned id, tree op)
   includes.type = SCALAR;
 
   get_constraint_for (op, &rhsc);
-  for (j = 0; VEC_iterate (ce_s, rhsc, j, c); j++)
+  FOR_EACH_VEC_ELT (ce_s, rhsc, j, c)
     process_constraint (new_constraint (includes, *c));
   VEC_free (ce_s, heap, rhsc);
 }
@@ -3795,7 +3795,7 @@ handle_rhs_call (gimple stmt, VEC(ce_s, heap) **results)
       lhsc.var = escaped_id;
       lhsc.offset = 0;
       lhsc.type = SCALAR;
-      for (i = 0; VEC_iterate (ce_s, tmpc, i, c); ++i)
+      FOR_EACH_VEC_ELT (ce_s, tmpc, i, c)
        process_constraint (new_constraint (lhsc, *c));
       VEC_free(ce_s, heap, tmpc);
     }
@@ -3905,7 +3905,7 @@ handle_const_call (gimple stmt, VEC(ce_s, heap) **results)
          unsigned i;
          struct constraint_expr *argp;
          get_constraint_for (arg, &argc);
-         for (i = 0; VEC_iterate (ce_s, argc, i, argp); ++i)
+         FOR_EACH_VEC_ELT (ce_s, argc, i, argp)
            VEC_safe_push (ce_s, heap, *results, argp);
          VEC_free(ce_s, heap, argc);
        }
@@ -4040,7 +4040,7 @@ find_func_aliases (gimple origt)
              STRIP_NOPS (strippedrhs);
              get_constraint_for (gimple_phi_arg_def (t, i), &rhsc);
 
-             for (j = 0; VEC_iterate (ce_s, lhsc, j, c); j++)
+             FOR_EACH_VEC_ELT (ce_s, lhsc, j, c)
                {
                  struct constraint_expr *c2;
                  while (VEC_length (ce_s, rhsc) > 0)
@@ -4141,7 +4141,7 @@ find_func_aliases (gimple origt)
                  ac.var = integer_id;
                }
              ac.offset = 0;
-             for (i = 0; VEC_iterate (ce_s, lhsc, i, lhsp); ++i)
+             FOR_EACH_VEC_ELT (ce_s, lhsc, i, lhsp)
                process_constraint (new_constraint (*lhsp, ac));
              VEC_free (ce_s, heap, lhsc);
              return;
@@ -4187,7 +4187,7 @@ find_func_aliases (gimple origt)
                    {
                      lhs = get_function_part_constraint (nfi, fi_static_chain);
                      get_constraint_for (frame, &rhsc);
-                     for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); ++i)
+                     FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
                        process_constraint (new_constraint (lhs, *rhsp));
                      VEC_free (ce_s, heap, rhsc);
 
@@ -4239,7 +4239,7 @@ find_func_aliases (gimple origt)
                  do_deref (&lhsc);
                  rhs = get_function_part_constraint (fi, ~0);
                  rhs.type = ADDRESSOF;
-                 for (i = 0; VEC_iterate (ce_s, lhsc, i, lhsp); ++i)
+                 FOR_EACH_VEC_ELT (ce_s, lhsc, i, lhsp)
                    process_constraint (new_constraint (*lhsp, rhs));
                  VEC_free (ce_s, heap, lhsc);
                  /* va_list is clobbered.  */
@@ -4352,7 +4352,7 @@ find_func_aliases (gimple origt)
                  rhs = *VEC_index (ce_s, tem, 0);
                  VEC_free(ce_s, heap, tem);
                }
-             for (j = 0; VEC_iterate (ce_s, lhsc, j, lhsp); j++)
+             FOR_EACH_VEC_ELT (ce_s, lhsc, j, lhsp)
                process_constraint (new_constraint (*lhsp, rhs));
            }
 
@@ -4367,7 +4367,7 @@ find_func_aliases (gimple origt)
 
              get_constraint_for_address_of (lhsop, &rhsc);
              lhs = get_function_part_constraint (fi, fi_result);
-             for (j = 0; VEC_iterate (ce_s, rhsc, j, rhsp); j++)
+             FOR_EACH_VEC_ELT (ce_s, rhsc, j, rhsp)
                process_constraint (new_constraint (lhs, *rhsp));
              VEC_free (ce_s, heap, rhsc);
            }
@@ -4380,7 +4380,7 @@ find_func_aliases (gimple origt)
 
              get_constraint_for (gimple_call_chain (t), &rhsc);
              lhs = get_function_part_constraint (fi, fi_static_chain);
-             for (j = 0; VEC_iterate (ce_s, rhsc, j, rhsp); j++)
+             FOR_EACH_VEC_ELT (ce_s, rhsc, j, rhsp)
                process_constraint (new_constraint (lhs, *rhsp));
            }
        }
@@ -4469,7 +4469,7 @@ find_func_aliases (gimple origt)
 
          lhs = get_function_part_constraint (fi, fi_result);
          get_constraint_for (gimple_return_retval (t), &rhsc);
-         for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); i++)
+         FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
            process_constraint (new_constraint (lhs, *rhsp));
        }
     }
@@ -4509,7 +4509,7 @@ find_func_aliases (gimple origt)
              rhsc.var = nonlocal_id;
              rhsc.offset = 0;
              rhsc.type = SCALAR;
-             for (j = 0; VEC_iterate (ce_s, lhsc, j, lhsp); j++)
+             FOR_EACH_VEC_ELT (ce_s, lhsc, j, lhsp)
                process_constraint (new_constraint (*lhsp, rhsc));
              VEC_free (ce_s, heap, lhsc);
            }
@@ -4551,7 +4551,7 @@ process_ipa_clobber (varinfo_t fi, tree ptr)
   unsigned i;
   get_constraint_for (ptr, &ptrc);
   lhs = get_function_part_constraint (fi, fi_clobbers);
-  for (i = 0; VEC_iterate (ce_s, ptrc, i, c); i++)
+  FOR_EACH_VEC_ELT (ce_s, ptrc, i, c)
     process_constraint (new_constraint (lhs, *c));
   VEC_free (ce_s, heap, ptrc);
 }
@@ -4602,7 +4602,7 @@ find_func_clobbers (gimple origt)
          unsigned i;
          lhsc = get_function_part_constraint (fi, fi_clobbers);
          get_constraint_for_address_of (lhs, &rhsc);
-         for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); i++)
+         FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
            process_constraint (new_constraint (lhsc, *rhsp));
          VEC_free (ce_s, heap, rhsc);
        }
@@ -4630,7 +4630,7 @@ find_func_clobbers (gimple origt)
          unsigned i;
          lhs = get_function_part_constraint (fi, fi_uses);
          get_constraint_for_address_of (rhs, &rhsc);
-         for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); i++)
+         FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
            process_constraint (new_constraint (lhs, *rhsp));
          VEC_free (ce_s, heap, rhsc);
        }
@@ -4670,12 +4670,12 @@ find_func_clobbers (gimple origt)
              struct constraint_expr *rhsp, *lhsp;
              get_constraint_for_ptr_offset (dest, NULL_TREE, &lhsc);
              lhs = get_function_part_constraint (fi, fi_clobbers);
-             for (i = 0; VEC_iterate (ce_s, lhsc, i, lhsp); i++)
+             FOR_EACH_VEC_ELT (ce_s, lhsc, i, lhsp)
                process_constraint (new_constraint (lhs, *lhsp));
              VEC_free (ce_s, heap, lhsc);
              get_constraint_for_ptr_offset (src, NULL_TREE, &rhsc);
              lhs = get_function_part_constraint (fi, fi_uses);
-             for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); i++)
+             FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
                process_constraint (new_constraint (lhs, *rhsp));
              VEC_free (ce_s, heap, rhsc);
              return;
@@ -4689,7 +4689,7 @@ find_func_clobbers (gimple origt)
              ce_s *lhsp;
              get_constraint_for_ptr_offset (dest, NULL_TREE, &lhsc);
              lhs = get_function_part_constraint (fi, fi_clobbers);
-             for (i = 0; VEC_iterate (ce_s, lhsc, i, lhsp); i++)
+             FOR_EACH_VEC_ELT (ce_s, lhsc, i, lhsp)
                process_constraint (new_constraint (lhs, *lhsp));
              VEC_free (ce_s, heap, lhsc);
              return;
@@ -4758,7 +4758,7 @@ find_func_clobbers (gimple origt)
            continue;
 
          get_constraint_for_address_of (arg, &rhsc);
-         for (j = 0; VEC_iterate (ce_s, rhsc, j, rhsp); j++)
+         FOR_EACH_VEC_ELT (ce_s, rhsc, j, rhsp)
            process_constraint (new_constraint (lhs, *rhsp));
          VEC_free (ce_s, heap, rhsc);
        }
@@ -5269,7 +5269,7 @@ check_for_overlaps (VEC (fieldoff_s,heap) *fieldstack)
   unsigned int i;
   HOST_WIDE_INT lastoffset = -1;
 
-  for (i = 0; VEC_iterate (fieldoff_s, fieldstack, i, fo); i++)
+  FOR_EACH_VEC_ELT (fieldoff_s, fieldstack, i, fo)
     {
       if (fo->offset == lastoffset)
        return true;
@@ -5434,7 +5434,7 @@ create_variable_info_for (tree decl, const char *name)
          lhs.var = vi->id;
          lhs.offset = 0;
          lhs.type = SCALAR;
-         for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); ++i)
+         FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
            process_constraint (new_constraint (lhs, *rhsp));
          /* If this is a variable that escapes from the unit
             the initializer escapes as well.  */
@@ -5443,7 +5443,7 @@ create_variable_info_for (tree decl, const char *name)
              lhs.var = escaped_id;
              lhs.offset = 0;
              lhs.type = SCALAR;
-             for (i = 0; VEC_iterate (ce_s, rhsc, i, rhsp); ++i)
+             FOR_EACH_VEC_ELT (ce_s, rhsc, i, rhsp)
                process_constraint (new_constraint (lhs, *rhsp));
            }
          VEC_free (ce_s, heap, rhsc);
@@ -6468,7 +6468,7 @@ compute_points_to_sets (void)
   cfun->gimple_df->escaped.escaped = 0;
 
   /* Mark escaped HEAP variables as global.  */
-  for (i = 0; VEC_iterate (varinfo_t, varmap, i, vi); ++i)
+  FOR_EACH_VEC_ELT (varinfo_t, varmap, i, vi)
     if (vi->is_heap_var
        && !vi->is_restrict_var
        && !vi->is_global_var)
@@ -6846,7 +6846,7 @@ ipa_pta_execute (void)
       fn = DECL_STRUCT_FUNCTION (node->decl);
 
       /* Compute the points-to sets for pointer SSA_NAMEs.  */
-      for (i = 0; VEC_iterate (tree, fn->gimple_df->ssa_names, i, ptr); ++i)
+      FOR_EACH_VEC_ELT (tree, fn->gimple_df->ssa_names, i, ptr)
        {
          if (ptr
              && POINTER_TYPE_P (TREE_TYPE (ptr)))
index 687c639..16f85f5 100644 (file)
@@ -2040,7 +2040,7 @@ execute_update_addresses_taken (bool do_optimize)
         differences for -g vs. -g0.  */
       for (var = DECL_ARGUMENTS (cfun->decl); var; var = DECL_CHAIN (var))
        update_vops |= maybe_optimize_var (var, addresses_taken, not_reg_needs);
-      for (i = 0; VEC_iterate (tree, cfun->local_decls, i, var); ++i)
+      FOR_EACH_VEC_ELT (tree, cfun->local_decls, i, var)
        update_vops |= maybe_optimize_var (var, addresses_taken, not_reg_needs);
     }
 
index 3f63a7f..2408b45 100644 (file)
@@ -595,7 +595,7 @@ vect_analyze_data_ref_dependence (struct data_dependence_relation *ddr,
     }
 
   loop_depth = index_in_loop_nest (loop->num, DDR_LOOP_NEST (ddr));
-  for (i = 0; VEC_iterate (lambda_vector, DDR_DIST_VECTS (ddr), i, dist_v); i++)
+  FOR_EACH_VEC_ELT (lambda_vector, DDR_DIST_VECTS (ddr), i, dist_v)
     {
       int dist = dist_v[loop_depth];
 
@@ -692,7 +692,7 @@ vect_analyze_data_ref_dependences (loop_vec_info loop_vinfo,
   else
     ddrs = BB_VINFO_DDRS (bb_vinfo);
 
-  for (i = 0; VEC_iterate (ddr_p, ddrs, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, ddrs, i, ddr)
     if (vect_analyze_data_ref_dependence (ddr, loop_vinfo, max_vf))
       return false;
 
@@ -866,7 +866,7 @@ vect_compute_data_refs_alignment (loop_vec_info loop_vinfo,
   else
     datarefs = BB_VINFO_DATAREFS (bb_vinfo);
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     if (STMT_VINFO_VECTORIZABLE (vinfo_for_stmt (DR_STMT (dr)))
         && !vect_compute_data_ref_alignment (dr))
       {
@@ -915,7 +915,7 @@ vect_update_misalignment_for_peel (struct data_reference *dr,
      are aligned in the vector loop.  */
   same_align_drs
     = STMT_VINFO_SAME_ALIGN_REFS (vinfo_for_stmt (DR_STMT (dr_peel)));
-  for (i = 0; VEC_iterate (dr_p, same_align_drs, i, current_dr); i++)
+  FOR_EACH_VEC_ELT (dr_p, same_align_drs, i, current_dr)
     {
       if (current_dr != dr)
         continue;
@@ -960,7 +960,7 @@ vect_verify_datarefs_alignment (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
   else
     datarefs = BB_VINFO_DATAREFS (bb_vinfo);
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       gimple stmt = DR_STMT (dr);
       stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
@@ -1186,7 +1186,7 @@ vect_peeling_hash_get_lowest_cost (void **slot, void *data)
   VEC (data_reference_p, heap) *datarefs = LOOP_VINFO_DATAREFS (loop_vinfo);
   struct data_reference *dr;
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       stmt = DR_STMT (dr);
       stmt_info = vinfo_for_stmt (stmt);
@@ -1397,7 +1397,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
      - The cost of peeling (the extra runtime checks, the increase
        in code size).  */
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       stmt = DR_STMT (dr);
       stmt_info = vinfo_for_stmt (stmt);
@@ -1643,7 +1643,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
         }
 
       /* Ensure that all data refs can be vectorized after the peel.  */
-      for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+      FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
         {
           int save_misalignment;
 
@@ -1688,7 +1688,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
              by the peeling factor times the element size of DR_i (MOD the
              vectorization factor times the size).  Otherwise, the
              misalignment of DR_i must be set to unknown.  */
-         for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+         FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
            if (dr != dr0)
              vect_update_misalignment_for_peel (dr, dr0, npeel);
 
@@ -1728,7 +1728,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
 
   if (do_versioning)
     {
-      for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+      FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
         {
          stmt = DR_STMT (dr);
          stmt_info = vinfo_for_stmt (stmt);
@@ -1797,7 +1797,7 @@ vect_enhance_data_refs_alignment (loop_vec_info loop_vinfo)
       /* It can now be assumed that the data references in the statements
          in LOOP_VINFO_MAY_MISALIGN_STMTS will be aligned in the version
          of the loop being vectorized.  */
-      for (i = 0; VEC_iterate (gimple, may_misalign_stmts, i, stmt); i++)
+      FOR_EACH_VEC_ELT (gimple, may_misalign_stmts, i, stmt)
         {
           stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
           dr = STMT_VINFO_DATA_REF (stmt_info);
@@ -1860,7 +1860,7 @@ vect_find_same_alignment_drs (struct data_dependence_relation *ddr,
     return;
 
   loop_depth = index_in_loop_nest (loop->num, DDR_LOOP_NEST (ddr));
-  for (i = 0; VEC_iterate (lambda_vector, DDR_DIST_VECTS (ddr), i, dist_v); i++)
+  FOR_EACH_VEC_ELT (lambda_vector, DDR_DIST_VECTS (ddr), i, dist_v)
     {
       int dist = dist_v[loop_depth];
 
@@ -1908,7 +1908,7 @@ vect_analyze_data_refs_alignment (loop_vec_info loop_vinfo,
       struct data_dependence_relation *ddr;
       unsigned int i;
 
-      for (i = 0; VEC_iterate (ddr_p, ddrs, i, ddr); i++)
+      FOR_EACH_VEC_ELT (ddr_p, ddrs, i, ddr)
        vect_find_same_alignment_drs (ddr, loop_vinfo);
     }
 
@@ -2254,7 +2254,7 @@ vect_analyze_data_ref_accesses (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
   else
     datarefs = BB_VINFO_DATAREFS (bb_vinfo);
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     if (STMT_VINFO_VECTORIZABLE (vinfo_for_stmt (DR_STMT (dr))) 
         && !vect_analyze_data_ref_access (dr))
       {
@@ -2415,7 +2415,7 @@ vect_analyze_data_refs (loop_vec_info loop_vinfo,
   /* Go through the data-refs, check that the analysis succeeded. Update pointer
      from stmt_vec_info struct to DR and vectype.  */
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     {
       gimple stmt;
       stmt_vec_info stmt_info;
@@ -3890,7 +3890,7 @@ vect_transform_strided_load (gimple stmt, VEC(tree,heap) *dr_chain, int size,
      corresponds the order of data-refs in RESULT_CHAIN.  */
   next_stmt = first_stmt;
   gap_count = 1;
-  for (i = 0; VEC_iterate (tree, result_chain, i, tmp_data_ref); i++)
+  FOR_EACH_VEC_ELT (tree, result_chain, i, tmp_data_ref)
     {
       if (!next_stmt)
        break;
index 82f0a78..5771c51 100644 (file)
@@ -2105,7 +2105,7 @@ vect_update_inits_of_drs (loop_vec_info loop_vinfo, tree niters)
   if (vect_print_dump_info (REPORT_DETAILS))
     fprintf (vect_dump, "=== vect_update_inits_of_dr ===");
 
-  for (i = 0; VEC_iterate (data_reference_p, datarefs, i, dr); i++)
+  FOR_EACH_VEC_ELT (data_reference_p, datarefs, i, dr)
     vect_update_init_of_dr (dr, niters);
 }
 
@@ -2229,7 +2229,7 @@ vect_create_cond_for_align_checks (loop_vec_info loop_vinfo,
   /* Create expression (mask & (dr_1 || ... || dr_n)) where dr_i is the address
      of the first vector of the i'th data reference. */
 
-  for (i = 0; VEC_iterate (gimple, may_misalign_stmts, i, ref_stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, may_misalign_stmts, i, ref_stmt)
     {
       gimple_seq new_stmt_list = NULL;
       tree addr_base;
@@ -2380,7 +2380,7 @@ vect_create_cond_for_alias_checks (loop_vec_info loop_vinfo,
   if (VEC_empty (ddr_p, may_alias_ddrs))
     return;
 
-  for (i = 0; VEC_iterate (ddr_p, may_alias_ddrs, i, ddr); i++)
+  FOR_EACH_VEC_ELT (ddr_p, may_alias_ddrs, i, ddr)
     {
       struct data_reference *dr_a, *dr_b;
       gimple dr_group_first_a, dr_group_first_b;
index fcd4081..371d30d 100644 (file)
@@ -840,7 +840,7 @@ destroy_loop_vec_info (loop_vec_info loop_vinfo, bool clean_stmts)
   VEC_free (gimple, heap, LOOP_VINFO_MAY_MISALIGN_STMTS (loop_vinfo));
   VEC_free (ddr_p, heap, LOOP_VINFO_MAY_ALIAS_DDRS (loop_vinfo));
   slp_instances = LOOP_VINFO_SLP_INSTANCES (loop_vinfo);
-  for (j = 0; VEC_iterate (slp_instance, slp_instances, j, instance); j++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, j, instance)
     vect_free_slp_instance (instance);
 
   VEC_free (slp_instance, heap, LOOP_VINFO_SLP_INSTANCES (loop_vinfo));
@@ -2330,7 +2330,7 @@ vect_estimate_min_profitable_iters (loop_vec_info loop_vinfo)
 
   /* Add SLP costs.  */
   slp_instances = LOOP_VINFO_SLP_INSTANCES (loop_vinfo);
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     {
       vec_outside_cost += SLP_INSTANCE_OUTSIDE_OF_LOOP_COST (instance);
       vec_inside_cost += SLP_INSTANCE_INSIDE_OF_LOOP_COST (instance);
@@ -3179,7 +3179,7 @@ vect_create_epilog_for_reduction (VEC (tree, heap) *vect_defs, gimple stmt,
     }
 
   /* Set phi nodes arguments.  */
-  for (i = 0; VEC_iterate (gimple, reduction_phis, i, phi); i++)
+  FOR_EACH_VEC_ELT (gimple, reduction_phis, i, phi)
     {
       tree vec_init_def = VEC_index (tree, vec_initial_defs, i);
       tree def = VEC_index (tree, vect_defs, i);
@@ -3245,7 +3245,7 @@ vect_create_epilog_for_reduction (VEC (tree, heap) *vect_defs, gimple stmt,
   exit_bb = single_exit (loop)->dest;
   prev_phi_info = NULL;
   new_phis = VEC_alloc (gimple, heap, VEC_length (tree, vect_defs));
-  for (i = 0; VEC_iterate (tree, vect_defs, i, def); i++)
+  FOR_EACH_VEC_ELT (tree, vect_defs, i, def)
     {
       for (j = 0; j < ncopies; j++)
         {
@@ -3424,7 +3424,7 @@ vect_create_epilog_for_reduction (VEC (tree, heap) *vect_defs, gimple stmt,
             fprintf (vect_dump, "Reduce using scalar code. ");
 
           vec_size_in_bits = tree_low_cst (TYPE_SIZE (vectype), 1);
-          for (i = 0; VEC_iterate (gimple, new_phis, i, new_phi); i++)
+          FOR_EACH_VEC_ELT (gimple, new_phis, i, new_phi)
             {
               vec_temp = PHI_RESULT (new_phi);
               rhs = build3 (BIT_FIELD_REF, scalar_type, vec_temp, bitsize,
@@ -3647,7 +3647,7 @@ vect_finalize_reduction:
          form.  */
       gcc_assert (!VEC_empty (gimple, phis));
 
-      for (i = 0; VEC_iterate (gimple, phis, i, exit_phi); i++)
+      FOR_EACH_VEC_ELT (gimple, phis, i, exit_phi)
         {
           if (outer_loop)
             {
@@ -3786,7 +3786,7 @@ vect_finalize_reduction:
             }
         }
 
-      for (i = 0; VEC_iterate (gimple, phis, i, exit_phi); i++)
+      FOR_EACH_VEC_ELT (gimple, phis, i, exit_phi)
         {
           /* Replace the uses:  */
           orig_name = PHI_RESULT (exit_phi);
@@ -4346,7 +4346,7 @@ vectorizable_reduction (gimple stmt, gimple_stmt_iterator *gsi,
           STMT_VINFO_RELATED_STMT (prev_phi_info) = new_phi;
         }
 
-      for (i = 0; VEC_iterate (tree, vec_oprnds0, i, def0); i++)
+      FOR_EACH_VEC_ELT (tree, vec_oprnds0, i, def0)
         {
           if (slp_node)
             reduc_def = PHI_RESULT (VEC_index (gimple, phis, i));
index 19df13f..0d5824c 100644 (file)
@@ -746,9 +746,7 @@ vect_pattern_recog_1 (
 
   /* Patterns cannot be vectorized using SLP, because they change the order of
      computation.  */
-  for (i = 0; VEC_iterate (gimple, LOOP_VINFO_REDUCTIONS (loop_vinfo), i,
-                           next);
-       i++)
+  FOR_EACH_VEC_ELT (gimple, LOOP_VINFO_REDUCTIONS (loop_vinfo), i, next)
     if (next == stmt)
       VEC_ordered_remove (gimple, LOOP_VINFO_REDUCTIONS (loop_vinfo), i); 
 }
index 7f219d5..135e1cb 100644 (file)
@@ -337,7 +337,7 @@ vect_build_slp_tree (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo,
   gimple first_load, prev_first_load = NULL;
 
   /* For every stmt in NODE find its def stmt/s.  */
-  for (i = 0; VEC_iterate (gimple, stmts, i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, stmts, i, stmt)
     {
       if (vect_print_dump_info (REPORT_SLP))
        {
@@ -715,7 +715,7 @@ vect_print_slp_tree (slp_tree node)
     return;
 
   fprintf (vect_dump, "node ");
-  for (i = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt)
     {
       fprintf (vect_dump, "\n\tstmt %d ", i);
       print_gimple_stmt (vect_dump, stmt, 0, TDF_SLIM);
@@ -741,7 +741,7 @@ vect_mark_slp_stmts (slp_tree node, enum slp_vect_type mark, int j)
   if (!node)
     return;
 
-  for (i = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt)
     if (j < 0 || i == j)
       STMT_SLP_TYPE (vinfo_for_stmt (stmt)) = mark;
 
@@ -762,7 +762,7 @@ vect_mark_slp_stmts_relevant (slp_tree node)
   if (!node)
     return;
 
-  for (i = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt)
     {
       stmt_info = vinfo_for_stmt (stmt);
       gcc_assert (!STMT_VINFO_RELEVANT (stmt_info)
@@ -857,7 +857,7 @@ vect_slp_rearrange_stmts (slp_tree node, unsigned int group_size,
   for (i = 0; i < group_size; i++)
     VEC_safe_push (gimple, heap, tmp_stmts, NULL);
 
-  for (i = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt)
     {
       index = VEC_index (int, permutation, i);
       VEC_replace (gimple, tmp_stmts, index, stmt);
@@ -891,7 +891,7 @@ vect_supported_load_permutation_p (slp_instance slp_instn, int group_size,
   if (vect_print_dump_info (REPORT_SLP))
     {
       fprintf (vect_dump, "Load permutation ");
-      for (i = 0; VEC_iterate (int, load_permutation, i, next); i++)
+      FOR_EACH_VEC_ELT (int, load_permutation, i, next)
         fprintf (vect_dump, "%d ", next);
     }
 
@@ -903,9 +903,7 @@ vect_supported_load_permutation_p (slp_instance slp_instn, int group_size,
      permutation).  */
 
   /* Check that all the load nodes are of the same size.  */
-  for (i = 0;
-       VEC_iterate (slp_tree, SLP_INSTANCE_LOADS (slp_instn), i, node);
-       i++)
+  FOR_EACH_VEC_ELT (slp_tree, SLP_INSTANCE_LOADS (slp_instn), i, node)
     {
       if (VEC_length (gimple, SLP_TREE_SCALAR_STMTS (node))
           != (unsigned) group_size)
@@ -926,13 +924,9 @@ vect_supported_load_permutation_p (slp_instance slp_instn, int group_size,
      chains are mixed, they match the above pattern.  */
   if (complex_numbers)
     {
-      for (i = 0;
-           VEC_iterate (slp_tree, SLP_INSTANCE_LOADS (slp_instn), i, node);
-           i++)
+      FOR_EACH_VEC_ELT (slp_tree, SLP_INSTANCE_LOADS (slp_instn), i, node)
         {
-          for (j = 0;
-               VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), j, stmt);
-               j++)
+         FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), j, stmt)
             {
               if (j == 0)
                 first = stmt;
@@ -1080,12 +1074,8 @@ vect_find_first_load_in_slp_instance (slp_instance instance)
   slp_tree load_node;
   gimple first_load = NULL, load;
 
-  for (i = 0;
-       VEC_iterate (slp_tree, SLP_INSTANCE_LOADS (instance), i, load_node);
-       i++)
-    for (j = 0;
-         VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (load_node), j, load);
-         j++)
+  FOR_EACH_VEC_ELT (slp_tree, SLP_INSTANCE_LOADS (instance), i, load_node)
+    FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (load_node), j, load)
       first_load = get_earlier_stmt (load, first_load);
 
   return first_load;
@@ -1289,7 +1279,7 @@ vect_analyze_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
     strided_stores = BB_VINFO_STRIDED_STORES (bb_vinfo);
 
   /* Find SLP sequences starting from groups of strided stores.  */
-  for (i = 0; VEC_iterate (gimple, strided_stores, i, store); i++)
+  FOR_EACH_VEC_ELT (gimple, strided_stores, i, store)
     if (vect_analyze_slp_instance (loop_vinfo, bb_vinfo, store))
       ok = true;
 
@@ -1325,7 +1315,7 @@ vect_make_slp_decision (loop_vec_info loop_vinfo)
   if (vect_print_dump_info (REPORT_SLP))
     fprintf (vect_dump, "=== vect_make_slp_decision ===");
 
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     {
       /* FORNOW: SLP if you can.  */
       if (unrolling_factor < SLP_INSTANCE_UNROLLING_FACTOR (instance))
@@ -1361,7 +1351,7 @@ vect_detect_hybrid_slp_stmts (slp_tree node)
   if (!node)
     return;
 
-  for (i = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt)
     if (PURE_SLP_STMT (vinfo_for_stmt (stmt))
        && TREE_CODE (gimple_op (stmt, 0)) == SSA_NAME)
       FOR_EACH_IMM_USE_STMT (use_stmt, imm_iter, gimple_op (stmt, 0))
@@ -1391,7 +1381,7 @@ vect_detect_hybrid_slp (loop_vec_info loop_vinfo)
   if (vect_print_dump_info (REPORT_SLP))
     fprintf (vect_dump, "=== vect_detect_hybrid_slp ===");
 
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     vect_detect_hybrid_slp_stmts (SLP_INSTANCE_TREE (instance));
 }
 
@@ -1471,7 +1461,7 @@ vect_slp_analyze_node_operations (bb_vec_info bb_vinfo, slp_tree node)
       || !vect_slp_analyze_node_operations (bb_vinfo, SLP_TREE_RIGHT (node)))
     return false;
 
-  for (i = 0; VEC_iterate (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt); i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_SCALAR_STMTS (node), i, stmt)
     {
       stmt_vec_info stmt_info = vinfo_for_stmt (stmt);
       gcc_assert (stmt_info);
@@ -1532,7 +1522,7 @@ vect_bb_vectorization_profitable_p (bb_vec_info bb_vinfo)
   int dummy = 0;
 
   /* Calculate vector costs.  */
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     {
       vec_outside_cost += SLP_INSTANCE_OUTSIDE_OF_LOOP_COST (instance);
       vec_inside_cost += SLP_INSTANCE_INSIDE_OF_LOOP_COST (instance);
@@ -1699,7 +1689,7 @@ vect_slp_analyze_bb (basic_block bb)
 
   /* Mark all the statements that we want to vectorize as pure SLP and
      relevant.  */
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     {
       vect_mark_slp_stmts (SLP_INSTANCE_TREE (instance), pure_slp, -1);
       vect_mark_slp_stmts_relevant (SLP_INSTANCE_TREE (instance));
@@ -1750,7 +1740,7 @@ vect_update_slp_costs_according_to_vf (loop_vec_info loop_vinfo)
   if (vect_print_dump_info (REPORT_SLP))
     fprintf (vect_dump, "=== vect_update_slp_costs_according_to_vf ===");
 
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     /* We assume that costs are linear in ncopies.  */
     SLP_INSTANCE_INSIDE_OF_LOOP_COST (instance) *= vf
       / SLP_INSTANCE_UNROLLING_FACTOR (instance);
@@ -1965,9 +1955,7 @@ vect_get_slp_vect_defs (slp_tree slp_node, VEC (tree,heap) **vec_oprnds)
 
   gcc_assert (SLP_TREE_VEC_STMTS (slp_node));
 
-  for (i = 0;
-       VEC_iterate (gimple, SLP_TREE_VEC_STMTS (slp_node), i, vec_def_stmt);
-       i++)
+  FOR_EACH_VEC_ELT (gimple, SLP_TREE_VEC_STMTS (slp_node), i, vec_def_stmt)
     {
       gcc_assert (vec_def_stmt);
       vec_oprnd = gimple_get_lhs (vec_def_stmt);
@@ -2281,10 +2269,7 @@ vect_transform_slp_perm_load (gimple stmt, VEC (tree, heap) *dr_chain,
      we need the second and the third vectors: {b1,c1,a2,b2} and
      {c2,a3,b3,c3}.  */
 
-  for (i = 0;
-       VEC_iterate (slp_tree, SLP_INSTANCE_LOADS (slp_node_instance),
-                    i, node);
-       i++)
+  FOR_EACH_VEC_ELT  (slp_tree, SLP_INSTANCE_LOADS (slp_node_instance), i, node)
     {
       scalar_index = 0;
       index = 0;
@@ -2404,9 +2389,7 @@ vect_schedule_slp_instance (slp_tree node, slp_instance instance,
      all the nodes that participate in that permutation.  */
   if (SLP_INSTANCE_LOAD_PERMUTATION (instance))
     {
-      for (i = 0;
-           VEC_iterate (slp_tree, SLP_INSTANCE_LOADS (instance), i, loads_node);
-           i++)
+      FOR_EACH_VEC_ELT (slp_tree, SLP_INSTANCE_LOADS (instance), i, loads_node)
         {
           if (!SLP_TREE_VEC_STMTS (loads_node))
             {
@@ -2461,7 +2444,7 @@ vect_schedule_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
       vf = 1;
     }
 
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     {
       /* Schedule the tree of INSTANCE.  */
       is_store = vect_schedule_slp_instance (SLP_INSTANCE_TREE (instance),
@@ -2471,7 +2454,7 @@ vect_schedule_slp (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
        fprintf (vect_dump, "vectorizing stmts using SLP.");
     }
 
-  for (i = 0; VEC_iterate (slp_instance, slp_instances, i, instance); i++)
+  FOR_EACH_VEC_ELT (slp_instance, slp_instances, i, instance)
     {
       slp_tree root = SLP_INSTANCE_TREE (instance);
       gimple store;
index e0ae559..433416d 100644 (file)
@@ -1803,7 +1803,7 @@ vectorizable_conversion (gimple stmt, gimple_stmt_iterator *gsi,
          builtin_decl =
            targetm.vectorize.builtin_conversion (code,
                                                  vectype_out, vectype_in);
-         for (i = 0; VEC_iterate (tree, vec_oprnds0, i, vop0); i++)
+         FOR_EACH_VEC_ELT (tree, vec_oprnds0, i, vop0)
            {
              /* Arguments are ready. create the new vector stmt.  */
              new_stmt = gimple_build_call (builtin_decl, 1, vop0);
@@ -2004,7 +2004,7 @@ vectorizable_assignment (gimple stmt, gimple_stmt_iterator *gsi,
         vect_get_vec_defs_for_stmt_copy (dt, &vec_oprnds, NULL);
 
       /* Arguments are ready. create the new vector stmt.  */
-      for (i = 0; VEC_iterate (tree, vec_oprnds, i, vop); i++)
+      FOR_EACH_VEC_ELT (tree, vec_oprnds, i, vop)
        {
         if (CONVERT_EXPR_CODE_P (code))
           vop = build1 (VIEW_CONVERT_EXPR, vectype, vop);
@@ -2382,7 +2382,7 @@ vectorizable_operation (gimple stmt, gimple_stmt_iterator *gsi,
        vect_get_vec_defs_for_stmt_copy (dt, &vec_oprnds0, &vec_oprnds1);
 
       /* Arguments are ready. Create the new vector stmt.  */
-      for (i = 0; VEC_iterate (tree, vec_oprnds0, i, vop0); i++)
+      FOR_EACH_VEC_ELT (tree, vec_oprnds0, i, vop0)
         {
          vop1 = ((op_type == binary_op)
                  ? VEC_index (tree, vec_oprnds1, i) : NULL);
@@ -2722,7 +2722,7 @@ vect_create_vectorized_promotion_stmts (VEC (tree, heap) **vec_oprnds0,
   vec_dest = VEC_pop (tree, vec_dsts);
   vec_tmp = VEC_alloc (tree, heap, VEC_length (tree, *vec_oprnds0) * 2);
 
-  for (i = 0; VEC_iterate (tree, *vec_oprnds0, i, vop0); i++)
+  FOR_EACH_VEC_ELT (tree, *vec_oprnds0, i, vop0)
     {
       if (op_type == binary_op)
         vop1 = VEC_index (tree, *vec_oprnds1, i);
index 35d12b3..c5f1468 100644 (file)
@@ -7470,7 +7470,7 @@ identify_jump_threads (void)
 
   /* Do not thread across edges we are about to remove.  Just marking
      them as EDGE_DFS_BACK will do.  */
-  for (i = 0; VEC_iterate (edge, to_remove_edges, i, e); ++i)
+  FOR_EACH_VEC_ELT (edge, to_remove_edges, i, e)
     e->flags |= EDGE_DFS_BACK;
 
   /* Allocate our unwinder stack to unwind any temporary equivalences
@@ -7676,10 +7676,10 @@ execute_vrp (void)
 
   /* Remove dead edges from SWITCH_EXPR optimization.  This leaves the
      CFG in a broken state and requires a cfg_cleanup run.  */
-  for (i = 0; VEC_iterate (edge, to_remove_edges, i, e); ++i)
+  FOR_EACH_VEC_ELT (edge, to_remove_edges, i, e)
     remove_edge (e);
   /* Update SWITCH_EXPR case label vector.  */
-  for (i = 0; VEC_iterate (switch_update, to_update_switch_stmts, i, su); ++i)
+  FOR_EACH_VEC_ELT (switch_update, to_update_switch_stmts, i, su)
     {
       size_t j;
       size_t n = TREE_VEC_LENGTH (su->vec);
index c4092ab..4ad2f5b 100644 (file)
@@ -1371,7 +1371,7 @@ build_constructor (tree type, VEC(constructor_elt,gc) *vals)
   TREE_TYPE (c) = type;
   CONSTRUCTOR_ELTS (c) = vals;
 
-  for (i = 0; VEC_iterate (constructor_elt, vals, i, elt); i++)
+  FOR_EACH_VEC_ELT (constructor_elt, vals, i, elt)
     if (!TREE_CONSTANT (elt->value))
       {
        constant_p = false;
@@ -1970,7 +1970,7 @@ vec_member (const_tree elem, VEC(tree,gc) *v)
 {
   unsigned ix;
   tree t;
-  for (ix = 0; VEC_iterate (tree, v, ix, t); ix++)
+  FOR_EACH_VEC_ELT (tree, v, ix, t)
     if (elem == t)
       return true;
   return false;
@@ -2137,7 +2137,7 @@ build_tree_list_vec_stat (const VEC(tree,gc) *vec MEM_STAT_DECL)
   tree *pp = &ret;
   unsigned int i;
   tree t;
-  for (i = 0; VEC_iterate (tree, vec, i, t); ++i)
+  FOR_EACH_VEC_ELT (tree, vec, i, t)
     {
       *pp = build_tree_list_stat (NULL, t PASS_MEM_STAT);
       pp = &TREE_CHAIN (*pp);
@@ -2915,7 +2915,7 @@ push_without_duplicates (tree exp, VEC (tree, heap) **queue)
   unsigned int i;
   tree iter;
 
-  for (i = 0; VEC_iterate (tree, *queue, i, iter); i++)
+  FOR_EACH_VEC_ELT (tree, *queue, i, iter)
     if (simple_cst_equal (iter, exp) == 1)
       break;
 
@@ -3975,7 +3975,7 @@ build_nt_call_vec (tree fn, VEC(tree,gc) *args)
   ret = build_vl_exp (CALL_EXPR, VEC_length (tree, args) + 3);
   CALL_EXPR_FN (ret) = fn;
   CALL_EXPR_STATIC_CHAIN (ret) = NULL_TREE;
-  for (ix = 0; VEC_iterate (tree, args, ix, t); ++ix)
+  FOR_EACH_VEC_ELT (tree, args, ix, t)
     CALL_EXPR_ARG (ret, ix) = t;
   return ret;
 }
@@ -4254,7 +4254,7 @@ free_lang_data_in_binfo (tree binfo)
   BINFO_INHERITANCE_CHAIN (binfo) = NULL_TREE;
   BINFO_SUBVTT_INDEX (binfo) = NULL_TREE;
 
-  for (i = 0; VEC_iterate (tree, BINFO_BASE_BINFOS (binfo), i, t); i++)
+  FOR_EACH_VEC_ELT (tree, BINFO_BASE_BINFOS (binfo), i, t)
     free_lang_data_in_binfo (t);
 }
 
@@ -5020,7 +5020,7 @@ free_lang_data_in_cgraph (void)
   for (n = cgraph_nodes; n; n = n->next)
     find_decls_types_in_node (n, &fld);
 
-  for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
+  FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
     find_decls_types (p->decl, &fld);
 
   /* Find decls and types in every varpool symbol.  */
@@ -5030,15 +5030,15 @@ free_lang_data_in_cgraph (void)
   /* Set the assembler name on every decl found.  We need to do this
      now because free_lang_data_in_decl will invalidate data needed
      for mangling.  This breaks mangling on interdependent decls.  */
-  for (i = 0; VEC_iterate (tree, fld.decls, i, t); i++)
+  FOR_EACH_VEC_ELT (tree, fld.decls, i, t)
     assign_assembler_name_if_neeeded (t);
 
   /* Traverse every decl found freeing its language data.  */
-  for (i = 0; VEC_iterate (tree, fld.decls, i, t); i++)
+  FOR_EACH_VEC_ELT (tree, fld.decls, i, t)
     free_lang_data_in_decl (t);
 
   /* Traverse every type found freeing its language data.  */
-  for (i = 0; VEC_iterate (tree, fld.types, i, t); i++)
+  FOR_EACH_VEC_ELT (tree, fld.types, i, t)
     free_lang_data_in_type (t);
 
   pointer_set_destroy (fld.pset);
@@ -9663,7 +9663,7 @@ build_call_vec (tree return_type, tree fn, VEC(tree,gc) *args)
   TREE_TYPE (ret) = return_type;
   CALL_EXPR_FN (ret) = fn;
   CALL_EXPR_STATIC_CHAIN (ret) = NULL_TREE;
-  for (ix = 0; VEC_iterate (tree, args, ix, t); ++ix)
+  FOR_EACH_VEC_ELT (tree, args, ix, t)
     CALL_EXPR_ARG (ret, ix) = t;
   process_call_operands (ret);
   return ret;
index 7b1e70a..84956cd 100644 (file)
@@ -1648,7 +1648,7 @@ gimple_find_values_to_profile (histogram_values *values)
     for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi))
       gimple_values_to_profile (gsi_stmt (gsi), values);
 
-  for (i = 0; VEC_iterate (histogram_value, *values, i, hist); i++)
+  FOR_EACH_VEC_ELT (histogram_value, *values, i, hist)
     {
       switch (hist->type)
         {
index 3232fb7..ec402ac 100644 (file)
@@ -5758,7 +5758,7 @@ compute_bb_dataflow (basic_block bb)
   dataflow_set_copy (&old_out, out);
   dataflow_set_copy (out, in);
 
-  for (i = 0; VEC_iterate (micro_operation, VTI (bb)->mos, i, mo); i++)
+  FOR_EACH_VEC_ELT (micro_operation, VTI (bb)->mos, i, mo)
     {
       rtx insn = mo->insn;
 
@@ -7683,7 +7683,7 @@ emit_notes_in_bb (basic_block bb, dataflow_set *set)
   dataflow_set_clear (set);
   dataflow_set_copy (set, &VTI (bb)->in);
 
-  for (i = 0; VEC_iterate (micro_operation, VTI (bb)->mos, i, mo); i++)
+  FOR_EACH_VEC_ELT (micro_operation, VTI (bb)->mos, i, mo)
     {
       rtx insn = mo->insn;
 
@@ -7978,7 +7978,7 @@ vt_emit_notes (void)
       unsigned int i;
       rtx val;
 
-      for (i = 0; VEC_iterate (rtx, preserved_values, i, val); i++)
+      FOR_EACH_VEC_ELT (rtx, preserved_values, i, val)
        add_cselib_value_chains (dv_from_value (val));
       changed_variables_stack = VEC_alloc (variable, heap, 40);
       changed_values_stack = VEC_alloc (rtx, heap, 40);
@@ -8008,7 +8008,7 @@ vt_emit_notes (void)
       unsigned int i;
       rtx val;
 
-      for (i = 0; VEC_iterate (rtx, preserved_values, i, val); i++)
+      FOR_EACH_VEC_ELT (rtx, preserved_values, i, val)
        remove_cselib_value_chains (dv_from_value (val));
       gcc_assert (htab_elements (value_chains) == 0);
     }
index 4742304..597bac6 100644 (file)
@@ -5437,7 +5437,7 @@ finish_aliases_1 (void)
   unsigned i;
   alias_pair *p;
 
-  for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
+  FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
     {
       tree target_decl;
 
@@ -5470,7 +5470,7 @@ finish_aliases_2 (void)
   unsigned i;
   alias_pair *p;
 
-  for (i = 0; VEC_iterate (alias_pair, alias_pairs, i, p); i++)
+  FOR_EACH_VEC_ELT (alias_pair, alias_pairs, i, p)
     do_assemble_alias (p->decl, p->target);
 
   VEC_truncate (alias_pair, alias_pairs, 0);
@@ -6715,12 +6715,12 @@ output_object_block (struct object_block *block)
 
   /* Define the values of all anchors relative to the current section
      position.  */
-  for (i = 0; VEC_iterate (rtx, block->anchors, i, symbol); i++)
+  FOR_EACH_VEC_ELT (rtx, block->anchors, i, symbol)
     targetm.asm_out.output_anchor (symbol);
 
   /* Output the objects themselves.  */
   offset = 0;
-  for (i = 0; VEC_iterate (rtx, block->objects, i, symbol); i++)
+  FOR_EACH_VEC_ELT (rtx, block->objects, i, symbol)
     {
       /* Move to the object's offset, padding with zeros if necessary.  */
       assemble_zeros (SYMBOL_REF_BLOCK_OFFSET (symbol) - offset);
index 321b13f..1d2f067 100644 (file)
--- a/gcc/vec.h
+++ b/gcc/vec.h
@@ -190,6 +190,11 @@ along with GCC; see the file COPYING3.  If not see
 
 #define VEC_iterate(T,V,I,P)   (VEC_OP(T,base,iterate)(VEC_BASE(V),I,&(P)))
 
+/* Convenience macro for forward iteration.  */
+
+#define FOR_EACH_VEC_ELT(T, V, I, P)           \
+  for (I = 0; VEC_iterate (T, (V), (I), (P)); ++(I))
+
 /* Convenience macro for reverse iteration.  */
 
 #define FOR_EACH_VEC_ELT_REVERSE(T,V,I,P) \
index 129ee78..8ae5f2b 100644 (file)
@@ -1589,7 +1589,7 @@ vmsdbgout_finish (const char *main_input_filename ATTRIBUTE_UNUSED)
   ASM_OUTPUT_ALIGN (asm_out_file, 0);
 
   totsize = write_modbeg (1);
-  for (i = 0; VEC_iterate (unsigned, funcnum_table, i, ifunc); i++)
+  FOR_EACH_VEC_ELT (unsigned, funcnum_table, i, ifunc)
     {
       totsize += write_rtnbeg (i, 1);
       totsize += write_rtnend (i, 1);
@@ -1597,7 +1597,7 @@ vmsdbgout_finish (const char *main_input_filename ATTRIBUTE_UNUSED)
   totsize += write_pclines (1);
 
   write_modbeg (0);
-  for (i = 0; VEC_iterate (unsigned, funcnum_table, i, ifunc); i++)
+  FOR_EACH_VEC_ELT (unsigned, funcnum_table, i, ifunc)
     {
       write_rtnbeg (i, 0);
       write_rtnend (i, 0);