LLVM 22.0.0git
llvm::sandboxir::BottomUpVec Class Referencefinal

This is a simple bottom-up vectorizer Region pass. More...

#include "llvm/Transforms/Vectorize/SandboxVectorizer/Passes/BottomUpVec.h"

Inheritance diagram for llvm::sandboxir::BottomUpVec:
[legend]

Public Member Functions

 BottomUpVec ()
bool runOnRegion (Region &Rgn, const Analyses &A) final
 \Returns true if it modifies R.
Public Member Functions inherited from llvm::sandboxir::RegionPass
 RegionPass (StringRef Name)
 Name can't contain any spaces or start with '-'.
Public Member Functions inherited from llvm::sandboxir::Pass
 Pass (StringRef Name)
 Name can't contain any spaces or start with '-'.
virtual ~Pass ()
StringRef getName () const
 \Returns the name of the pass.
virtual void print (raw_ostream &OS) const
virtual LLVM_DUMP_METHOD void dump () const
virtual void printPipeline (raw_ostream &OS) const
 Similar to print() but adds a newline. Used for testing.

Additional Inherited Members

Protected Attributes inherited from llvm::sandboxir::Pass
const std::string Name
 The pass name.

Detailed Description

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.

Constructor & Destructor Documentation

◆ BottomUpVec()

llvm::sandboxir::BottomUpVec::BottomUpVec ( )
inline

Definition at line 98 of file BottomUpVec.h.

References llvm::sandboxir::RegionPass::RegionPass().

Member Function Documentation

◆ runOnRegion()

bool llvm::sandboxir::BottomUpVec::runOnRegion ( Region & R,
const Analyses & A )
finalvirtual

\Returns true if it modifies R.

Implements llvm::sandboxir::RegionPass.

Definition at line 500 of file BottomUpVec.cpp.

References A(), assert(), F, and llvm::sandboxir::Region::getAux().


The documentation for this class was generated from the following files: