public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug tree-optimization/97382] New: STMT_VINFO_SAME_ALIGN_REFS should go away
@ 2020-10-12 13:33 rguenth at gcc dot gnu.org
  2020-10-12 13:56 ` [Bug tree-optimization/97382] " rguenth at gcc dot gnu.org
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-12 13:33 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97382

            Bug ID: 97382
           Summary: STMT_VINFO_SAME_ALIGN_REFS should go away
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rguenth at gcc dot gnu.org
  Target Milestone: ---

We record for each stmt info with a DR the set of DRs with "the same alignment"
and use that for quick counting and align adjustment in peeling for alignment.

We can do better & cheaper if we simply record the set of DRs which use the
same DR_BASE_ADDRESS, DR_OFFSET and DR_STEP.  We can then improve
adjusting DR_MISALIGNMENT even for not equal align refs based on
DR_INIT differences.

A single loop over DRs and a hash-map from the triple to a vector of DRs
local to vect_enhance_data_refs_alignment is probably better than the current
storage which is quadratic in size.

STMT_VINFO_SAME_ALIGN_REFS is one consumer that depends on the vector type
choosen for a DR and thus vect_update_shared_vectype and its problems.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tree-optimization/97382] STMT_VINFO_SAME_ALIGN_REFS should go away
  2020-10-12 13:33 [Bug tree-optimization/97382] New: STMT_VINFO_SAME_ALIGN_REFS should go away rguenth at gcc dot gnu.org
@ 2020-10-12 13:56 ` rguenth at gcc dot gnu.org
  2020-10-13 13:02 ` cvs-commit at gcc dot gnu.org
  2020-10-13 13:03 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-12 13:56 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97382

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2020-10-12
           Assignee|unassigned at gcc dot gnu.org      |rguenth at gcc dot gnu.org

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
So I'm going to give this a try.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tree-optimization/97382] STMT_VINFO_SAME_ALIGN_REFS should go away
  2020-10-12 13:33 [Bug tree-optimization/97382] New: STMT_VINFO_SAME_ALIGN_REFS should go away rguenth at gcc dot gnu.org
  2020-10-12 13:56 ` [Bug tree-optimization/97382] " rguenth at gcc dot gnu.org
@ 2020-10-13 13:02 ` cvs-commit at gcc dot gnu.org
  2020-10-13 13:03 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2020-10-13 13:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97382

--- Comment #2 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Richard Biener <rguenth@gcc.gnu.org>:

https://gcc.gnu.org/g:a673744dee7a80e6525fb0da87d053c8ccab6275

commit r11-3847-ga673744dee7a80e6525fb0da87d053c8ccab6275
Author: Richard Biener <rguenther@suse.de>
Date:   Tue Oct 13 11:42:27 2020 +0200

    Remove STMT_VINFO_SAME_ALIGN_REFS

    This makes the only consumer of STMT_VINFO_SAME_ALIGN_REFS, the
    loop peeling for alignment code, use locally computed data and
    then removes STMT_VINFO_SAME_ALIGN_REFS and its computation.

    It also adjusts the auto_vec<> move CTOR/assignment so you
    can write

      auto_vec<..> foo = bar.copy ();

    and have foo own the generated copy.

    2020-10-13  Richard Biener  <rguenther@suse.de>

            PR tree-optimization/97382
            * tree-vectorizer.h (_stmt_vec_info::same_align_refs): Remove.
            (STMT_VINFO_SAME_ALIGN_REFS): Likewise.
            * tree-vectorizer.c (vec_info::new_stmt_vec_info): Do not
            allocate STMT_VINFO_SAME_ALIGN_REFS.
            (vec_info::free_stmt_vec_info): Do not release
            STMT_VINFO_SAME_ALIGN_REFS.
            * tree-vect-data-refs.c (vect_analyze_data_ref_dependences):
            Do not compute self and read-read dependences.
            (vect_dr_aligned_if_related_peeled_dr_is): New helper.
            (vect_dr_aligned_if_peeled_dr_is): Likewise.
            (vect_update_misalignment_for_peel): Use it instead of
            iterating over STMT_VINFO_SAME_ALIGN_REFS.
            (dr_align_group_sort_cmp): New function.
            (vect_enhance_data_refs_alignment): Count the number of
            same aligned refs here and elide uses of
STMT_VINFO_SAME_ALIGN_REFS.
            (vect_find_same_alignment_drs): Remove.
            (vect_analyze_data_refs_alignment): Do not call it.
            * vec.h (auto_vec<T, 0>::auto_vec): Adjust CTOR to take
            a vec<>&&, assert it isn't using auto storage.
            (auto_vec& operator=): Apply a similar change.

            * gcc.dg/vect/no-vfa-vect-dv-2.c: Remove same align dump
            scanning.
            * gcc.dg/vect/vect-103.c: Likewise.
            * gcc.dg/vect/vect-91.c: Likewise.
            * gfortran.dg/vect/vect-4.f90: Likewise.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug tree-optimization/97382] STMT_VINFO_SAME_ALIGN_REFS should go away
  2020-10-12 13:33 [Bug tree-optimization/97382] New: STMT_VINFO_SAME_ALIGN_REFS should go away rguenth at gcc dot gnu.org
  2020-10-12 13:56 ` [Bug tree-optimization/97382] " rguenth at gcc dot gnu.org
  2020-10-13 13:02 ` cvs-commit at gcc dot gnu.org
@ 2020-10-13 13:03 ` rguenth at gcc dot gnu.org
  2 siblings, 0 replies; 4+ messages in thread
From: rguenth at gcc dot gnu.org @ 2020-10-13 13:03 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97382

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
Fixed.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-13 13:03 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-12 13:33 [Bug tree-optimization/97382] New: STMT_VINFO_SAME_ALIGN_REFS should go away rguenth at gcc dot gnu.org
2020-10-12 13:56 ` [Bug tree-optimization/97382] " rguenth at gcc dot gnu.org
2020-10-13 13:02 ` cvs-commit at gcc dot gnu.org
2020-10-13 13:03 ` rguenth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).