This is the mail archive of the
mailing list for the GCC project.
Re: [patch] Vectorizer: bug fix for component ref support
- From: Richard Henderson <rth at redhat dot com>
- To: Ira Rosen <IRAR at il dot ibm dot com>
- Cc: Dorit Naishlos <DORIT at il dot ibm dot com>, gcc-patches at gcc dot gnu dot org
- Date: Wed, 13 Oct 2004 08:49:29 -0700
- Subject: Re: [patch] Vectorizer: bug fix for component ref support
- References: <OF9A5E5AC4.AB654C57-ONC2256F2B.00626A5A-C2256F2B.0062BFF8@LocalDomain> <OF215A5932.694BF519-ONC2256F2C.0045DA45-C2256F2C.004626AD@il.ibm.com>
On Wed, Oct 13, 2004 at 02:46:14PM +0200, Ira Rosen wrote:
> ! dr = analyze_array (stmt, TREE_OPERAND (symbl, 0), DR_IS_READ(dr));
> ! if (TREE_CODE (DR_BASE_NAME (dr)) == COMPONENT_REF)
> ! STMT_VINFO_MEMTAG (stmt_info) =
> ! vect_get_base_and_bit_offset (dr, DR_BASE_NAME (dr), NULL_TREE,
> ! loop_vinfo, &offset, &base_aligned_p);
Any reason not to call vect_get_base_and_bit_offset always?
Otherwise, I can see this == COMPONENT_REF test growing over time.
I'll also note that vect_get_base_and_bit_offset should probably
be rewritten using get_inner_reference. There are more cases to
handle than what you're currently doing. Mostly they show up with
Ada, so you won't have seen them yet.