Lines Matching refs:Other
208 // from this list that aren't in the other one.
342 /// EnforceSmallerThan - 'this' must be a smaller VT than Other. Update
343 /// this an other based on this information.
344 bool EEVT::TypeSet::EnforceSmallerThan(EEVT::TypeSet &Other, TreePattern &TP) {
354 if (Other.isCompletelyUnknown())
355 MadeChange = Other.FillWithPossibleTypes(TP);
357 // If one side is known to be integer or known to be FP but the other side has
360 MadeChange |= Other.EnforceInteger(TP);
362 MadeChange |= Other.EnforceFloatingPoint(TP);
363 if (!Other.hasFloatingPointTypes())
365 else if (!Other.hasIntegerTypes())
368 assert(!isCompletelyUnknown() && !Other.isCompletelyUnknown() &&
371 // If one contains vectors but the other doesn't pull vectors out.
373 MadeChange |= Other.EnforceScalar(TP);
377 if (TypeVec.size() == 1 && Other.TypeVec.size() == 1) {
382 !(Other.hasIntegerTypes() && Other.hasFloatingPointTypes()) &&
386 // must have a larger bitsize than the other, or this element type
387 // must be larger than the other.
389 EVT OtherType(Other.TypeVec[0]);
391 if (hasVectorTypes() && Other.hasVectorTypes()) {
397 Other.getName() +"'!");
403 // than that of the other.
407 Other.getName() +"'!");
442 Other.TypeVec.begin();
443 TVI != Other.TypeVec.end();
448 TVI = Other.TypeVec.erase(TVI);
457 TVI = Other.TypeVec.erase(TVI);
468 if ((Other.hasIntegerTypes() && OtherIntSize == 0)
469 || (Other.hasFloatingPointTypes() && OtherFPSize == 0)) {
471 Other.getName() + "' has nothing larger than '" + getName() +"'!");
475 // Okay, find the largest type in the Other set and remove it from the
477 MVT::SimpleValueType LargestInt = MVT::Other;
478 for (unsigned i = 0, e = Other.TypeVec.size(); i != e; ++i)
479 if (isInteger(Other.TypeVec[i])) {
480 LargestInt = Other.TypeVec[i];
483 for (unsigned i = 1, e = Other.TypeVec.size(); i != e; ++i)
484 if (isInteger(Other.TypeVec[i]) && Other.TypeVec[i] > LargestInt)
485 LargestInt = Other.TypeVec[i];
487 MVT::SimpleValueType LargestFP = MVT::Other;
488 for (unsigned i = 0, e = Other.TypeVec.size(); i != e; ++i)
489 if (isFloatingPoint(Other.TypeVec[i])) {
490 LargestFP = Other.TypeVec[i];
493 for (unsigned i = 1, e = Other.TypeVec.size(); i != e; ++i)
494 if (isFloatingPoint(Other.TypeVec[i]) && Other.TypeVec[i] > LargestFP)
495 LargestFP = Other.TypeVec[i];
529 getName() + "' has nothing smaller than '" + Other.getName()+"'!");
753 Child->getType(0) != MVT::Other)
1045 /// MVT::SimpleValueType. Otherwise, return EEVT::Other.
1065 return MVT::Other;
1114 if (InstInfo.HasOneImplicitDefWithKnownVT(CDP.getTargetInfo()) !=MVT::Other)
1383 // An unnamed VTSDNode represents itself as an MVT::Other immediate.
1388 return EEVT::TypeSet(MVT::Other, TP);
1402 return EEVT::TypeSet(MVT::Other, TP);
1424 return EEVT::TypeSet(MVT::Other, TP);
1642 if (VT != MVT::Other)
2372 I->error("All $" + Pat->getName() + " inputs must agree with each other");
2374 I->error("All $" + Pat->getName() + " inputs must agree with each other");
2559 // WriteMem intrinsics can have other strange effects.
3210 // 64-bits. Infer the other way for good measure.