LLVM: llvm::sandboxir::BottomUpVec Class Reference (original) (raw)

This is a simple bottom-up vectorizer Region pass.

It expects a "seed slice" as an input in the Region's Aux vector. The "seed slice" is a vector of instructions that can be used as a starting point for vectorization, like stores to consecutive memory addresses. Starting from the seed instructions, it walks up the def-use chain looking for more instructions that can be vectorized. This pass will generate vector code if it can legally vectorize the code, regardless of whether it is profitable or not. For now profitability is checked at the end of the region pass pipeline by a dedicated pass that accepts or rejects the IR transaction, depending on the cost.

Definition at line 35 of file BottomUpVec.h.