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

Hao Liu Hao.Liu at arm.com
Thu May 21 23:59:40 PDT 2015


> Thinking about this a bit more, why are we collecting the InterLeaveGroups in LAA?  LAA provides loop dependence information and computing this additional, unrelated information comes at a cost.  Clients other than LV would pay for this without using it.  I think that the InterLeaveGroups analysis should probably live in LV.

> 

> What do you think?  Let me know if I am missing something from an earlier discussion.

> 

> Adam


Hi Adam,

It's easy to move such analysis to LV, but I think it reasonable to analyze interleaved accesses in LoopAccessAnalysis:

  (1) Regarding the name "LoopAccessAnalysis", which is responsible for analyzing accesses in a loop. The interleaved access group is a special kind of access in loop.
  (2) For clients other than LV, it could disable or enable such analysis. Or we could disable it by default and LV calls function like "analyzeInterleaving()" to do analysis. To achieve this is easy.
  (3) For other clients, I think we may also need to modify the memory dependence analysis, which is now dedicated to analyze dependences for loop vectorizer.

Thanks,
-Hao


http://reviews.llvm.org/D9368

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






More information about the llvm-commits mailing list