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] and question on loops state in the vectorizer





> > > (1) (patch): We should call flow_loop_scan after loop_split_edge, to
....
>
> so looks like I can drop the first patch.
> or rather instead, remove the call to loop_split_edge which was there to
> guarantee that the pre_header bb has a single successor; this is not
needed
> cause we don't add stmts on the pre_header bb anymore (we always add
stmts
> on the preheader_edge using insert_on_edge).

except wherever we use insert_on_edge we make sure that a new_bb was not
added (cause we rely on this loop_split_edge to have taken place), so I'm
leaving things as is for now

> > > (2) (question:) On entry to vectorization pass we assume that the
loop
...
> In this case, we need the following patch (yet to be bootstrapped and
> tested):

as per zdenek's feedback, this is needed for now, but will probably be
dropped soon with the removal of flow_loop_scan. so to be on the safe side
w.r.t loop state in the vectorizer, we need either this patch, or zdenek's
patch to remove flow_loop_scan and anything that uses the information it
computes (in the vectorizer and elsewhere). (either is fine with me)

Here is the updated patch, bootstrapped and tested on powerpc-darwin.

Changelog:

      * tree-vect-analyze.c (vect_analyze_loop_form): Avoid redundant
checks.
      * tree-vectorizer.c (vectorize_loops): Call flow_loop_scan and
      verify_loop_structure.

Patch:

(See attached file: vectloop.feb21)

dorit

Attachment: vectloop.feb21
Description: Binary data


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