LLVM
15.0.0git
|
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 | changeElementCountTo (unsigned TypeIdx, unsigned FromTypeIdx) |
Keep the same scalar or element type as TypeIdx , but take the number of elements from FromTypeIdx . More... | |
LegalizeMutation | changeElementCountTo (unsigned TypeIdx, LLT Ty) |
Keep the same scalar or element type as TypeIdx , but take the number of elements from Ty . More... | |
LegalizeMutation | changeElementSizeTo (unsigned TypeIdx, unsigned FromTypeIdx) |
Change the scalar size or element size to have the same scalar size as type index FromIndex . 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 | widenScalarOrEltToNextMultipleOf (unsigned TypeIdx, unsigned Size) |
Widen the scalar type or vector element type for the given type index to next multiple of Size . 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... | |
LegalizeMutation llvm::LegalizeMutations::changeElementCountTo | ( | unsigned | TypeIdx, |
LLT | Ty | ||
) |
Keep the same scalar or element type as TypeIdx
, but take the number of elements from Ty
.
Definition at line 57 of file LegalizeMutations.cpp.
References llvm::LLT::changeElementCount(), llvm::LLT::getElementCount(), llvm::LinearPolySize< ElementCount >::getFixed(), and llvm::LLT::isVector().
LegalizeMutation llvm::LegalizeMutations::changeElementCountTo | ( | unsigned | TypeIdx, |
unsigned | FromTypeIdx | ||
) |
Keep the same scalar or element type as TypeIdx
, but take the number of elements from FromTypeIdx
.
Definition at line 46 of file LegalizeMutations.cpp.
References llvm::LLT::changeElementCount(), llvm::LLT::getElementCount(), llvm::LinearPolySize< ElementCount >::getFixed(), and llvm::LLT::isVector().
LegalizeMutation llvm::LegalizeMutations::changeElementSizeTo | ( | unsigned | TypeIdx, |
unsigned | FromTypeIdx | ||
) |
Change the scalar size or element size to have the same scalar size as type index FromIndex
.
Unlike changeElementTo, this discards pointer types and only changes the size.
Definition at line 67 of file LegalizeMutations.cpp.
References llvm::LLT::changeElementType(), llvm::LLT::getScalarSizeInBits(), and llvm::LLT::scalar().
Referenced by llvm::LegalizeRuleSet::maxScalarSameAs(), and llvm::LegalizeRuleSet::minScalarSameAs().
LegalizeMutation llvm::LegalizeMutations::changeElementTo | ( | unsigned | TypeIdx, |
LLT | Ty | ||
) |
Keep the same scalar or element type as the given type.
Definition at line 38 of file LegalizeMutations.cpp.
References llvm::LLT::changeElementType().
Referenced by llvm::LegalizeRuleSet::maxScalarIf(), llvm::LegalizeRuleSet::maxScalarOrElt(), llvm::LegalizeRuleSet::minScalarOrElt(), and llvm::LegalizeRuleSet::minScalarOrEltIf().
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().
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::AArch64LegalizerInfo::AArch64LegalizerInfo(), and llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo().
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().
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 97 of file LegalizeMutations.cpp.
References llvm::LLT::fixed_vector(), llvm::LLT::getElementType(), llvm::LLT::getNumElements(), llvm::Log2_32_Ceil(), and llvm::max().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), and llvm::LegalizeRuleSet::moreElementsToNextPow2().
LegalizeMutation llvm::LegalizeMutations::scalarize | ( | unsigned | TypeIdx | ) |
Break up the vector type for the given type index into the element type.
Definition at line 108 of file LegalizeMutations.cpp.
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::LegalizeRuleSet::scalarize(), and llvm::LegalizeRuleSet::scalarizeIf().
LegalizeMutation llvm::LegalizeMutations::widenScalarOrEltToNextMultipleOf | ( | unsigned | TypeIdx, |
unsigned | Size | ||
) |
Widen the scalar type or vector element type for the given type index to next multiple of Size
.
Definition at line 88 of file LegalizeMutations.cpp.
References llvm::alignTo(), llvm::LLT::changeElementSize(), and llvm::LLT::getScalarSizeInBits().
Referenced by llvm::LegalizeRuleSet::widenScalarToNextMultipleOf().
LegalizeMutation llvm::LegalizeMutations::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.
Definition at line 77 of file LegalizeMutations.cpp.
References llvm::LLT::changeElementSize(), llvm::LLT::getScalarSizeInBits(), llvm::Log2_32_Ceil(), and llvm::max().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::widenScalarOrEltToNextPow2(), and llvm::LegalizeRuleSet::widenScalarToNextPow2().