This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] C++-ify and simplify loop iterators


On Tue, Nov 19, 2013 at 7:01 AM, Richard Biener <rguenther@suse.de> wrote:
>
> $subject - the following turns
>
>  loop_iterator li;
>  FOR_EACH_LOOP (li, loop, LI_ONLY_INNERMOST)
>    {
>      ...
>      if ()
>        FOR_EACH_LOOP_BREAK;
>    }
>
> into
>
>  FOR_EACH_LOOP (loop, LI_ONLY_INNERMOST)
>    {
>      ...
>      if ()
>        break;
>    }
>
> Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.
>
> Richard.
>
> 2013-11-19  Richard Biener  <rguenther@suse.de>
>
>         * cfgloop.h (struct loop_iterator): C++-ify, add constructor
>         and destructor and make fel_next a member function.
>         (fel_next): Transform into ...
>         (loop_iterator::next): ... this.
>         (fel_init): Transform into ...
>         (loop_iterator::loop_iterator): ... this.
>         (loop_iterator::~loop_iterator): New.
>         (FOR_EACH_LOOP): Remove loop-iterator argument.
>         (FOR_EACH_LOOP_BREAK): Remove no longer necessary macro.
>         * cfgloop.c, cfgloopmanip.c, config/mn10300/mn10300.c,
>         graphite-clast-to-gimple.c, graphite-scop-detection.c,
>         graphite-sese-to-poly.c, ipa-inline-analysis.c, ipa-pure-const.c,
>         loop-init.c, loop-invariant.c, loop-unroll.c, loop-unswitch.c,
>         modulo-sched.c, predict.c, sel-sched-ir.c, tree-cfg.c, tree-data-ref.c,
>         tree-if-conv.c, tree-loop-distribution.c, tree-parloops.c,
>         tree-predcom.c, tree-scalar-evolution.c, tree-ssa-dce.c,
>         tree-ssa-loop-ch.c, tree-ssa-loop-im.c, tree-ssa-loop-ivcanon.c,
>         tree-ssa-loop-ivopts.c, tree-ssa-loop-manip.c, tree-ssa-loop-niter.c,
>         tree-ssa-loop-prefetch.c, tree-ssa-loop-unswitch.c,
>         tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vrp.c: Adjust
>         uses of FOR_EACH_LOOP and remove loop_iterator variables.  Replace
>         FOR_EACH_LOOP_BREAK with break.
>

This caused:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59199

H.J.


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