LLVM 20.0.0git
|
Functions | |
LegalizeMutation | changeTo (unsigned TypeIdx, LLT Ty) |
Select this specific type for the given type index. | |
LegalizeMutation | changeTo (unsigned TypeIdx, unsigned FromTypeIdx) |
Keep the same type as the given type index. | |
LegalizeMutation | changeElementTo (unsigned TypeIdx, unsigned FromTypeIdx) |
Keep the same scalar or element type as the given type index. | |
LegalizeMutation | changeElementTo (unsigned TypeIdx, LLT Ty) |
Keep the same scalar or element type as the given type. | |
LegalizeMutation | changeElementCountTo (unsigned TypeIdx, unsigned FromTypeIdx) |
Keep the same scalar or element type as TypeIdx , but take the number of elements from FromTypeIdx . | |
LegalizeMutation | changeElementCountTo (unsigned TypeIdx, LLT Ty) |
Keep the same scalar or element type as TypeIdx , but take the number of elements from Ty . | |
LegalizeMutation | changeElementSizeTo (unsigned TypeIdx, unsigned FromTypeIdx) |
Change the scalar size or element size to have the same scalar size as type index FromIndex . | |
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. | |
LegalizeMutation | widenScalarOrEltToNextMultipleOf (unsigned TypeIdx, unsigned Size) |
Widen the scalar type or vector element type for the given type index to next multiple of Size . | |
LegalizeMutation | moreElementsToNextPow2 (unsigned TypeIdx, unsigned Min=0) |
Add more elements to the type for the given type index to the next power of. | |
LegalizeMutation | scalarize (unsigned TypeIdx) |
Break up the vector type for the given type index into the element type. | |
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::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::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::AArch64LegalizerInfo::AArch64LegalizerInfo(), 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().
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(), llvm::AMDGPULegalizerInfo::AMDGPULegalizerInfo(), llvm::PPCLegalizerInfo::PPCLegalizerInfo(), and llvm::RISCVLegalizerInfo::RISCVLegalizerInfo().
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.
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(), and llvm::Log2_32_Ceil().
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(), llvm::LLT::getScalarSizeInBits(), and Size.
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(), and llvm::Log2_32_Ceil().
Referenced by llvm::AArch64LegalizerInfo::AArch64LegalizerInfo(), llvm::LegalizeRuleSet::widenScalarOrEltToNextPow2(), llvm::LegalizeRuleSet::widenScalarOrEltToNextPow2OrMinSize(), and llvm::LegalizeRuleSet::widenScalarToNextPow2().