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]

[patch] Vectorizer: resolve mix of pointer and object: take 2 part 1





Dorit Naishlos/Haifa/IBM wrote on 23/01/2005 18:41:22:
> There are actually two places where we are mixing pointers and objects.
> This patch partially addresses one of them:
>
> (1) The data we store in VECT_DR_BASE and in DR_BASE is sometimes an
> address and sometimes an object. The first of the two should always
> be a pointer, and this is indeed fixed by this patch (while also
> renaming the macro to VECT_DR_BASE_ADDRESS).

The first part of this patch: always store an address in
VECT_DR_BASE_ADDRESS (previously called VECT_DR_BASE).

Bootstrapped and tested on ppc-darwin.
O.K. for mainline?

> The second should
> always be an object, and this was not addressed by this patch
> (didn't notice it before). We'll send these bits separately from the
rest:

Coming up.

Thanks,
Ira

Changelog entry:
2005-02-10  Ira Rosen  <irar@il.ibm.com>

* tree-vectorizer.h (struct _stmt_vec_info): Rename a field: base
        to base_address.
        * tree-vectorizer.c (new_stmt_vec_info): Rename the above field of
        stmt_vec_info.
        (vect_get_base_and_offset): Always return an address.
        (vect_create_addr_base_for_vector_ref): Remove treatment for
        different data reference types.
        (vect_compute_data_ref_alignment): Rename base to base_address in
        stmt_vec_info. Get the object in order to force its alignment.
        (vect_get_memtag_and_dr): Rename base to base_address in
        stmt_vec_info. Extract the object for memtag analysis.

Patch 1:
(See attached file: patch1)

Attachment: patch1
Description: Binary data


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