Lines Matching defs:OrigTy

1165 LLT llvm::getLCMType(LLT OrigTy, LLT TargetTy) {
1166 if (OrigTy.getSizeInBits() == TargetTy.getSizeInBits())
1167 return OrigTy;
1169 if (OrigTy.isVector() && TargetTy.isVector()) {
1170 LLT OrigElt = OrigTy.getElementType();
1179 assert(((OrigTy.isScalableVector() && !TargetTy.isFixedVector()) ||
1180 (OrigTy.isFixedVector() && !TargetTy.isScalableVector())) &&
1184 int GCDMinElts = std::gcd(OrigTy.getElementCount().getKnownMinValue(),
1187 ElementCount Mul = OrigTy.getElementCount().multiplyCoefficientBy(
1190 OrigTy.getElementType());
1192 unsigned LCM = std::lcm(OrigTy.getSizeInBits().getKnownMinValue(),
1195 ElementCount::get(LCM / OrigElt.getSizeInBits(), OrigTy.isScalable()),
1200 if (OrigTy.isVector() || TargetTy.isVector()) {
1201 LLT VecTy = OrigTy.isVector() ? OrigTy : TargetTy;
1202 LLT ScalarTy = OrigTy.isVector() ? TargetTy : OrigTy;
1204 LLT OrigEltTy = OrigTy.isVector() ? OrigTy.getElementType() : OrigTy;
1206 // Prefer scalar type from OrigTy.
1215 // Prefer type from OrigTy
1222 unsigned LCM = std::lcm(OrigTy.getSizeInBits().getFixedValue(),
1225 if (LCM == OrigTy.getSizeInBits())
1226 return OrigTy;
1232 LLT llvm::getCoverTy(LLT OrigTy, LLT TargetTy) {
1234 if ((OrigTy.isScalableVector() && TargetTy.isFixedVector()) ||
1235 (OrigTy.isFixedVector() && TargetTy.isScalableVector()))
1239 if (!OrigTy.isVector() || !TargetTy.isVector() || OrigTy == TargetTy ||
1240 (OrigTy.getScalarSizeInBits() != TargetTy.getScalarSizeInBits()))
1241 return getLCMType(OrigTy, TargetTy);
1243 unsigned OrigTyNumElts = OrigTy.getElementCount().getKnownMinValue();
1246 return OrigTy;
1250 OrigTy.getElementType());
1253 LLT llvm::getGCDType(LLT OrigTy, LLT TargetTy) {
1254 if (OrigTy.getSizeInBits() == TargetTy.getSizeInBits())
1255 return OrigTy;
1257 if (OrigTy.isVector() && TargetTy.isVector()) {
1258 LLT OrigElt = OrigTy.getElementType();
1266 assert(((OrigTy.isScalableVector() && !TargetTy.isFixedVector()) ||
1267 (OrigTy.isFixedVector() && !TargetTy.isScalableVector())) &&
1270 unsigned GCD = std::gcd(OrigTy.getSizeInBits().getKnownMinValue(),
1273 return LLT::scalarOrVector(ElementCount::get(1, OrigTy.isScalable()),
1278 return LLT::scalarOrVector(ElementCount::get(1, OrigTy.isScalable()),
1283 OrigTy.isScalable()),
1289 if (OrigTy.isVector() &&
1290 OrigTy.getElementType().getSizeInBits() == TargetTy.getSizeInBits())
1291 return OrigTy.getElementType();
1293 TargetTy.getElementType().getSizeInBits() == OrigTy.getSizeInBits())
1294 return OrigTy;
1300 LLT OrigScalar = OrigTy.getScalarType();