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.

Reply via email to