LLVM 22.0.0git
Public Attributes | List of all members
llvm::sandboxir::VecUtils::PackPattern Struct Reference

Helper struct for matchPack(). More...

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

Public Attributes

SmallVector< Instruction * > Instrs
 The insertelement instructions that form the pack pattern in bottom-up order, i.e., the first instruction in Instrs is the bottom-most InsertElement instruction of the pack pattern.
 
SmallVector< Value * > Operands
 The "external" operands of the pack pattern, i.e., the values that get packed into a vector, skipping the ones in Instrs.
 

Detailed Description

Helper struct for matchPack().

Describes the instructions and operands of a pack pattern.

Definition at line 203 of file VecUtils.h.

Member Data Documentation

◆ Instrs

SmallVector<Instruction *> llvm::sandboxir::VecUtils::PackPattern::Instrs

The insertelement instructions that form the pack pattern in bottom-up order, i.e., the first instruction in Instrs is the bottom-most InsertElement instruction of the pack pattern.

For example in this simple pack pattern: Pack0 = insertelement <2 x i8> poison, i8 v0, i64 0 Pack1 = insertelement <2 x i8> Pack0, i8 v1, i64 1 this is [ Pack1, Pack0 ].

Definition at line 211 of file VecUtils.h.

◆ Operands

SmallVector<Value *> llvm::sandboxir::VecUtils::PackPattern::Operands

The "external" operands of the pack pattern, i.e., the values that get packed into a vector, skipping the ones in Instrs.

The operands are in bottom-up order, starting from the operands of the bottom-most insert. So in our example this would be [ v1, v0 ].

Definition at line 216 of file VecUtils.h.


The documentation for this struct was generated from the following file: