[PATCH] [LoopVectorize]Teach Loop Vectorizer about interleaved memory access

Renato Golin renato.golin at linaro.org
Wed May 13 04:46:04 PDT 2015


In http://reviews.llvm.org/D9368#171923, @HaoLiu wrote:

> The new method is based on the paper: Auto-Vectorization of Interleaved Data for SIMD (Dorit Nuzman, Ira Rosen and Ayal Zaks). It has two benefits comparing to old method:


Hi Hao,

This paper is what I used here:

https://llvm.org/bugs/show_bug.cgi?id=17677

I believe it's a lot simpler than what you proposed initially.

> There may be worries about the dependences. I think our memory dependence check has already checked the dependence. I've added a lot of comments in the code to explain this. 

>  I've tested the correctness with LNT, EEMBC, SPEC2000, SPEC2006. There is no known failure.


As long as we're being conservative, we should be safe. The scalar evolution analysis should provide us with that safety, and we should extend SCEV, instead of working around it in the vectorizer, so expand support.

I'll review your new method shortly.

cheers,
--renato


http://reviews.llvm.org/D9368

EMAIL PREFERENCES
  http://reviews.llvm.org/settings/panel/emailpreferences/






More information about the llvm-commits mailing list