2018 LLVM Developers’ Meeting: V. Porpodas “Extending the SLP vectorizer to support variable ...”

preview_player
Показать описание

Extending the SLP vectorizer to support variable vector widths - Vasileios Porpodas

Slides:

The SLP Vectorizer performs auto-vectorization of straight-line code. It works by scanning the code looking for scalar instructions that can be grouped together, and then replacing each group with its vectorized form. In this work we show that the current design of the SLP pass in LLVM cannot efficiently handle code patterns that require switching from one vector width to another. We provide detailed examples of when this happens and we show in detail why the current design is failing. We present a non-intrusive design based on the existing SLP Vectorization pass, that addresses this issue and improves performance.

Рекомендации по теме