LLVM: llvm::LegalizationArtifactCombiner::ArtifactValueFinder Class Reference (original) (raw)

This class provides utilities for finding source registers of specific bit ranges in an artifact. More...

#include "[llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h](LegalizationArtifactCombiner%5F8h%5Fsource.html)"

Public Member Functions
ArtifactValueFinder (MachineRegisterInfo &Mri, MachineIRBuilder &Builder, const LegalizerInfo &Info)
Register findValueFromDef (Register DefReg, unsigned StartBit, unsigned Size, LLT DstTy)
Try to find a source of the value defined in the def DefReg, starting at position StartBit with size Size.
bool tryCombineUnmergeDefs (GUnmerge &MI, GISelChangeObserver &Observer, SmallVectorImpl< Register > &UpdatedDefs)
Try to combine the defs of an unmerge MI by attempting to find values that provides the bits for each def reg.
GUnmerge * findUnmergeThatDefinesReg (Register Reg, unsigned Size, unsigned &DefOperandIdx)
bool isSequenceFromUnmerge (GMergeLikeInstr &MI, unsigned MergeStartIdx, GUnmerge *Unmerge, unsigned UnmergeIdxStart, unsigned NumElts, unsigned EltSize, bool AllowUndef)
bool tryCombineMergeLike (GMergeLikeInstr &MI, SmallVectorImpl< MachineInstr * > &DeadInsts, SmallVectorImpl< Register > &UpdatedDefs, GISelChangeObserver &Observer)

This class provides utilities for finding source registers of specific bit ranges in an artifact.

The routines can look through the source registers if they're other artifacts to try to find a non-artifact source of a value.

Definition at line 610 of file LegalizationArtifactCombiner.h.

findUnmergeThatDefinesReg()

findValueFromDef()

isSequenceFromUnmerge()

tryCombineMergeLike()

tryCombineUnmergeDefs()


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