LLVM  10.0.0svn
Functions
llvm::LegalizeMutations Namespace Reference

Functions

LegalizeMutation changeTo (unsigned TypeIdx, LLT Ty)
 Select this specific type for the given type index. More...
 
LegalizeMutation changeTo (unsigned TypeIdx, unsigned FromTypeIdx)
 Keep the same type as the given type index. More...
 
LegalizeMutation changeElementTo (unsigned TypeIdx, unsigned FromTypeIdx)
 Keep the same scalar or element type as the given type index. More...
 
LegalizeMutation changeElementTo (unsigned TypeIdx, LLT Ty)
 Keep the same scalar or element type as the given type. More...
 
LegalizeMutation widenScalarOrEltToNextPow2 (unsigned TypeIdx, unsigned Min=0)
 Widen the scalar type or vector element type for the given type index to the next power of 2. More...
 
LegalizeMutation moreElementsToNextPow2 (unsigned TypeIdx, unsigned Min=0)
 Add more elements to the type for the given type index to the next power of. More...
 
LegalizeMutation scalarize (unsigned TypeIdx)
 Break up the vector type for the given type index into the element type. More...
 

Function Documentation

◆ changeElementTo() [1/2]

LegalizeMutation llvm::LegalizeMutations::changeElementTo ( unsigned  TypeIdx,
unsigned  FromTypeIdx 
)

Keep the same scalar or element type as the given type index.

Definition at line 29 of file LegalizeMutations.cpp.

References llvm::LLT::changeElementType().

◆ changeElementTo() [2/2]

LegalizeMutation llvm::LegalizeMutations::changeElementTo ( unsigned  TypeIdx,
LLT  Ty 
)

◆ changeTo() [1/2]

LegalizeMutation llvm::LegalizeMutations::changeTo ( unsigned  TypeIdx,
LLT  Ty 
)

Select this specific type for the given type index.

Definition at line 17 of file LegalizeMutations.cpp.

Referenced by llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), and llvm::LegalizeRuleSet::lowerFor().

◆ changeTo() [2/2]

LegalizeMutation llvm::LegalizeMutations::changeTo ( unsigned  TypeIdx,
unsigned  FromTypeIdx 
)

Keep the same type as the given type index.

Definition at line 22 of file LegalizeMutations.cpp.

Referenced by llvm::LegalizeRuleSet::maxScalar(), and llvm::LegalizeRuleSet::minScalar().

◆ moreElementsToNextPow2()

LegalizeMutation llvm::LegalizeMutations::moreElementsToNextPow2 ( unsigned  TypeIdx,
unsigned  Min = 0 
)

Add more elements to the type for the given type index to the next power of.

Definition at line 56 of file LegalizeMutations.cpp.

References llvm::LLT::getElementType(), llvm::LLT::getNumElements(), llvm::Log2_32_Ceil(), llvm::max(), and llvm::LLT::vector().

Referenced by llvm::LegalizeRuleSet::moreElementsToNextPow2().

◆ scalarize()

LegalizeMutation llvm::LegalizeMutations::scalarize ( unsigned  TypeIdx)

Break up the vector type for the given type index into the element type.

Definition at line 67 of file LegalizeMutations.cpp.

Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), and llvm::LegalizeRuleSet::scalarize().

◆ widenScalarOrEltToNextPow2()

LegalizeMutation llvm::LegalizeMutations::widenScalarOrEltToNextPow2 ( unsigned  TypeIdx,
unsigned  Min = 0 
)