Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git
llvm::sandboxir::InstrMaps Class Reference

Maps the original instructions to the vectorized instrs and the reverse. More...

#include "llvm/Transforms/Vectorize/SandboxVectorizer/InstrMaps.h"

Public Member Functions

 InstrMaps ()=default
 ~InstrMaps ()=default
ActiongetVectorForOrig (Value *Orig) const
 \Returns the vector value that we got from vectorizing Orig, or nullptr if not found.
std::optional< unsignedgetOrigLane (Action *Vec, Value *Orig) const
 \Returns the lane of Orig before it got vectorized into Vec, or nullopt if not found.
void registerVector (ArrayRef< Value * > Origs, Action *Vec)
 Update the map to reflect that Origs got vectorized into Vec.
void clear ()
void print (raw_ostream &OS) const
LLVM_DUMP_METHOD void dump () const

Detailed Description

Maps the original instructions to the vectorized instrs and the reverse.

For now an original instr can only map to a single vector.

Definition at line 51 of file InstrMaps.h.

Constructor & Destructor Documentation

◆ InstrMaps()

llvm::sandboxir::InstrMaps::InstrMaps ( )
default

◆ ~InstrMaps()

llvm::sandboxir::InstrMaps::~InstrMaps ( )
default

Member Function Documentation

◆ clear()

void llvm::sandboxir::InstrMaps::clear ( )
inline

Definition at line 95 of file InstrMaps.h.

◆ dump()

void llvm::sandboxir::InstrMaps::dump ( ) const

Definition at line 28 of file InstrMaps.cpp.

References llvm::dbgs(), and print().

◆ getOrigLane()

std::optional< unsigned > llvm::sandboxir::InstrMaps::getOrigLane ( Action * Vec,
Value * Orig ) const
inline

\Returns the lane of Orig before it got vectorized into Vec, or nullopt if not found.

Definition at line 73 of file InstrMaps.h.

◆ getVectorForOrig()

Action * llvm::sandboxir::InstrMaps::getVectorForOrig ( Value * Orig) const
inline

\Returns the vector value that we got from vectorizing Orig, or nullptr if not found.

Definition at line 67 of file InstrMaps.h.

◆ print()

void llvm::sandboxir::InstrMaps::print ( raw_ostream & OS) const
inline

Definition at line 100 of file InstrMaps.h.

Referenced by dump().

◆ registerVector()

void llvm::sandboxir::InstrMaps::registerVector ( ArrayRef< Value * > Origs,
Action * Vec )
inline

Update the map to reflect that Origs got vectorized into Vec.

Definition at line 84 of file InstrMaps.h.

References assert(), and llvm::sandboxir::VecUtils::getNumLanes().


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