[patch] Cleanup in vectorization of strided accesses

Zdenek Dvorak rakdver@atrey.karlin.mff.cuni.cz
Thu Jan 18 14:33:00 GMT 2007


Hello,

> This is a cleanup patch. It removes a redundant pass through all the ddrs,
> and replaces it with a field that is set during already existing data
> dependencies check.  There's no real change in the behavior of the
> vectorizer.
> 
> The removed pass checked whether there are load-store and store-store
> dependencies in the loop. If such dependencies were found, strided access
> analysis was not called. While the actual problem occurs only when there
> are two statements in the loop that access the exact same location
> (dependence distance of 0), since in all other cases our analysis prevents
> vectorization anyway. Therefore, the additional pass is redundant.
> 
> With this patch in case there are a load and a store that access the same
> memory location, we mark the load  in the _stmt_vec_info structure. The
> case of two stores to the same location is now handled in
> vect_analyze_data_ref_access.
> 
> Testcase is included.
> Bootstrapped and tested on ppc-linix.
>
> O.K. for mainline?

OK.

Zdenek



More information about the Gcc-patches mailing list