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]

[lno] [patch] vectorizer - preparation for alignment handling


Preparations for alignment related components.
- new field to record alignment info of a memory reference.
- entry point for alignment analysis
- entry point for alignment enhancements (transformations like loop
versioning and loop peeling to force alignment of certain memory accesses).
- entry point for creation of misaligned vector accesses.
The above components are under development.

Dorit.

        * tree-data-ref.h (struct data_reference): New field "aux".
        * tree-vectorizer.h (aligned_access_p,
unknown_alignment_for_access_p):
        New functions.
        (DR_MISLAIGNMENT): New macro, for accessing the new 'aux' field in
        data_reference.
        * tree-vectorizer.c: (vect_analyze_data_refs_alignment): New
function.
        (vect_compute_data_refs_alignment): New function.
        (vect_compute_data_ref_alignment): New function.
        (vect_enhance_data_refs_alignment): New function.
        (vect_force_dr_alignment_p): New function.
        (vect_align_data_ref): Use new functions aligned_access_p and
        vect_force_dr_alignment_p.
        (vect_analyze_data_ref_access): Alignment related checks moved to
new
        functions that deal with alignment.
        (vect_analyze_data_refs): Likewise.
        (vect_analyze_loop): Call vect_analyze_data_refs_alignment.

patch:

(See attached file: vect.diff.April15)


Attachment: vect.diff.April15
Description: Binary data


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