Lines Matching +defs:first +defs:second
33 static llvm::Type *getCommonType(llvm::Type *first, llvm::Type *second) {
34 assert(first != second);
37 if (first->isIntegerTy()) {
38 if (second->isPointerTy()) return first;
39 } else if (first->isPointerTy()) {
40 if (second->isIntegerTy()) return second;
41 if (second->isPointerTy()) return first;
45 } else if (auto firstVecTy = dyn_cast<llvm::VectorType>(first)) {
46 if (auto secondVecTy = dyn_cast<llvm::VectorType>(second)) {
49 return (commonTy == firstVecTy->getElementType() ? first : second);
254 auto eltTy = split.first;
255 auto numElts = split.second;
286 // Find the first existing entry that ends after the start of the new data.
405 auto eltTy = split.first;
407 auto numElts = split.second;
430 static bool areBytesInSameUnit(CharUnits first, CharUnits second,
432 return getOffsetAtStartOfUnit(first, chunkSize)
433 == getOffsetAtStartOfUnit(second, chunkSize);
456 bool SwiftAggLowering::shouldMergeEntries(const StorageEntry &first,
457 const StorageEntry &second,
459 // Only merge entries that overlap the same chunk. We test this first
462 if (!areBytesInSameUnit(first.End - CharUnits::One(), second.Begin,
466 return (isMergeableEntryType(first.Type) &&
467 isMergeableEntryType(second.Type));
515 // We know from the first pass that only contiguous ranges will overlap
807 return ABIArgInfo::getCoerceAndExpand(types.first, types.second);