Lines Matching refs:RetTy

660   ABIArgInfo classifyReturnType(QualType RetTy) const;
661 ABIArgInfo classifyArgumentType(QualType RetTy) const;
702 ABIArgInfo DefaultABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
703 if (RetTy->isVoidType()) in classifyReturnType()
706 if (isAggregateTypeForABI(RetTy)) in classifyReturnType()
707 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
710 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
711 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
713 return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
731 ABIArgInfo classifyReturnType(QualType RetTy) const;
811 ABIArgInfo WebAssemblyABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
812 if (isAggregateTypeForABI(RetTy)) { in classifyReturnType()
815 if (!getRecordArgABI(RetTy, getCXXABI())) { in classifyReturnType()
817 if (isEmptyRecord(getContext(), RetTy, true)) in classifyReturnType()
822 if (const Type *SeltTy = isSingleElementStruct(RetTy, getContext())) in classifyReturnType()
828 return defaultInfo.classifyReturnType(RetTy); in classifyReturnType()
850 ABIArgInfo classifyReturnType(QualType RetTy) const;
851 ABIArgInfo classifyArgumentType(QualType RetTy) const;
901 ABIArgInfo PNaClABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
902 if (RetTy->isVoidType()) in classifyReturnType()
906 if (isAggregateTypeForABI(RetTy)) in classifyReturnType()
907 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
910 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
911 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
913 return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
1041 ABIArgInfo classifyReturnType(QualType RetTy, CCState &State) const;
1042 ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State) const;
1362 ABIArgInfo X86_32ABIInfo::getIndirectReturnResult(QualType RetTy, CCState &State) const { in getIndirectReturnResult() argument
1368 return getNaturalAlignIndirectInReg(RetTy); in getIndirectReturnResult()
1370 return getNaturalAlignIndirect(RetTy, /*ByVal=*/false); in getIndirectReturnResult()
1373 ABIArgInfo X86_32ABIInfo::classifyReturnType(QualType RetTy, in classifyReturnType() argument
1375 if (RetTy->isVoidType()) in classifyReturnType()
1382 isHomogeneousAggregate(RetTy, Base, NumElts)) { in classifyReturnType()
1387 if (const VectorType *VT = RetTy->getAs<VectorType>()) { in classifyReturnType()
1390 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
1406 return getIndirectReturnResult(RetTy, State); in classifyReturnType()
1412 if (isAggregateTypeForABI(RetTy)) { in classifyReturnType()
1413 if (const RecordType *RT = RetTy->getAs<RecordType>()) { in classifyReturnType()
1416 return getIndirectReturnResult(RetTy, State); in classifyReturnType()
1420 if (!IsRetSmallStructInRegABI && !RetTy->isAnyComplexType()) in classifyReturnType()
1421 return getIndirectReturnResult(RetTy, State); in classifyReturnType()
1424 if (isEmptyRecord(getContext(), RetTy, true)) in classifyReturnType()
1429 if (shouldReturnTypeInRegister(RetTy, getContext())) { in classifyReturnType()
1430 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
1437 if (const Type *SeltTy = isSingleElementStruct(RetTy, getContext())) in classifyReturnType()
1447 return getIndirectReturnResult(RetTy, State); in classifyReturnType()
1451 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
1452 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
1454 return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
2138 ABIArgInfo classifyReturnType(QualType RetTy) const;
3253 classifyReturnType(QualType RetTy) const { in classifyReturnType()
3257 classify(RetTy, 0, Lo, Hi, /*isNamedArg*/ true); in classifyReturnType()
3281 return getIndirectReturnResult(RetTy); in classifyReturnType()
3286 ResType = GetINTEGERTypeAtOffset(CGT.ConvertType(RetTy), 0, RetTy, 0); in classifyReturnType()
3292 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
3293 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
3295 if (RetTy->isIntegralOrEnumerationType() && in classifyReturnType()
3296 RetTy->isPromotableIntegerType()) in classifyReturnType()
3297 return ABIArgInfo::getExtend(RetTy); in classifyReturnType()
3304 ResType = GetSSETypeAtOffset(CGT.ConvertType(RetTy), 0, RetTy, 0); in classifyReturnType()
3336 HighPart = GetINTEGERTypeAtOffset(CGT.ConvertType(RetTy), 8, RetTy, 8); in classifyReturnType()
3341 HighPart = GetSSETypeAtOffset(CGT.ConvertType(RetTy), 8, RetTy, 8); in classifyReturnType()
3353 ResType = GetByteVectorType(RetTy); in classifyReturnType()
3364 HighPart = GetSSETypeAtOffset(CGT.ConvertType(RetTy), 8, RetTy, 8); in classifyReturnType()
4397 ABIArgInfo classifyReturnType(QualType RetTy) const;
4771 PPC64_SVR4_ABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
4772 if (RetTy->isVoidType()) in classifyReturnType()
4775 if (RetTy->isAnyComplexType()) in classifyReturnType()
4780 if (RetTy->isVectorType() && !IsQPXVectorTy(RetTy)) { in classifyReturnType()
4781 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
4783 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
4790 if (isAggregateTypeForABI(RetTy)) { in classifyReturnType()
4795 isHomogeneousAggregate(RetTy, Base, Members)) { in classifyReturnType()
4802 uint64_t Bits = getContext().getTypeSize(RetTy); in classifyReturnType()
4818 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
4821 return (isPromotableTypeForABI(RetTy) ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
4962 ABIArgInfo classifyReturnType(QualType RetTy) const;
4963 ABIArgInfo classifyArgumentType(QualType RetTy) const;
5171 ABIArgInfo AArch64ABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
5172 if (RetTy->isVoidType()) in classifyReturnType()
5176 if (RetTy->isVectorType() && getContext().getTypeSize(RetTy) > 128) in classifyReturnType()
5177 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
5179 if (!isAggregateTypeForABI(RetTy)) { in classifyReturnType()
5181 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
5182 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
5184 return (RetTy->isPromotableIntegerType() && isDarwinPCS() in classifyReturnType()
5185 ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
5189 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
5190 if (isEmptyRecord(getContext(), RetTy, true) || Size == 0) in classifyReturnType()
5195 if (isHomogeneousAggregate(RetTy, Base, Members)) in classifyReturnType()
5204 return coerceToIntArray(RetTy, getContext(), getVMContext()); in classifyReturnType()
5206 unsigned Alignment = getContext().getTypeAlign(RetTy); in classifyReturnType()
5218 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
5617 ABIArgInfo classifyReturnType(QualType RetTy, bool isVariadic) const;
5618 ABIArgInfo classifyArgumentType(QualType RetTy, bool isVariadic) const;
6034 ABIArgInfo ARMABIInfo::classifyReturnType(QualType RetTy, in classifyReturnType() argument
6039 if (RetTy->isVoidType()) in classifyReturnType()
6042 if (const VectorType *VT = RetTy->getAs<VectorType>()) { in classifyReturnType()
6044 if (getContext().getTypeSize(RetTy) > 128) in classifyReturnType()
6045 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
6050 return coerceIllegalVector(RetTy); in classifyReturnType()
6056 if ((RetTy->isFloat16Type() || RetTy->isHalfType()) && in classifyReturnType()
6064 if (!isAggregateTypeForABI(RetTy)) { in classifyReturnType()
6066 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
6067 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
6069 return RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
6075 if (isEmptyRecord(getContext(), RetTy, false)) in classifyReturnType()
6082 if (RetTy->isAnyComplexType()) in classifyReturnType()
6084 getVMContext(), getContext().getTypeSize(RetTy))); in classifyReturnType()
6087 if (isIntegerLikeType(RetTy, getContext(), getVMContext())) { in classifyReturnType()
6089 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
6098 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
6103 if (isEmptyRecord(getContext(), RetTy, true)) in classifyReturnType()
6110 if (isHomogeneousAggregate(RetTy, Base, Members)) in classifyReturnType()
6111 return classifyHomogeneousAggregate(RetTy, Base, Members); in classifyReturnType()
6116 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
6121 return coerceToIntArray(RetTy, getContext(), getVMContext()); in classifyReturnType()
6140 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
6271 ABIArgInfo classifyReturnType(QualType RetTy) const;
6294 ABIArgInfo NVPTXABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
6295 if (RetTy->isVoidType()) in classifyReturnType()
6299 if (!RetTy->isScalarType()) in classifyReturnType()
6303 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
6304 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
6306 return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
6433 ABIArgInfo classifyReturnType(QualType RetTy) const;
6711 ABIArgInfo SystemZABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
6712 if (RetTy->isVoidType()) in classifyReturnType()
6714 if (isVectorArgumentType(RetTy)) in classifyReturnType()
6716 if (isCompoundType(RetTy) || getContext().getTypeSize(RetTy) > 64) in classifyReturnType()
6717 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
6718 return (isPromotableIntegerType(RetTy) ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
6821 llvm::Type* returnAggregateInRegs(QualType RetTy, uint64_t Size) const;
6828 ABIArgInfo classifyReturnType(QualType RetTy) const;
6829 ABIArgInfo classifyArgumentType(QualType RetTy, uint64_t &Offset) const;
7032 MipsABIInfo::returnAggregateInRegs(QualType RetTy, uint64_t Size) const { in returnAggregateInRegs() argument
7033 const RecordType *RT = RetTy->getAs<RecordType>(); in returnAggregateInRegs()
7073 ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
7074 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
7076 if (RetTy->isVoidType()) in classifyReturnType()
7084 if (isAggregateTypeForABI(RetTy) || RetTy->isVectorType()) { in classifyReturnType()
7086 if (RetTy->isAnyComplexType()) in classifyReturnType()
7092 (RetTy->isVectorType() && !RetTy->hasFloatingRepresentation())) { in classifyReturnType()
7094 ABIArgInfo::getDirect(returnAggregateInRegs(RetTy, Size)); in classifyReturnType()
7100 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
7104 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
7105 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
7107 if (RetTy->isPromotableIntegerType()) in classifyReturnType()
7108 return ABIArgInfo::getExtend(RetTy); in classifyReturnType()
7110 if ((RetTy->isUnsignedIntegerOrEnumerationType() || in classifyReturnType()
7111 RetTy->isSignedIntegerOrEnumerationType()) && Size == 32 && !IsO32) in classifyReturnType()
7112 return ABIArgInfo::getSignExtend(RetTy); in classifyReturnType()
7323 ABIArgInfo classifyReturnType(QualType RetTy) const;
7324 ABIArgInfo classifyArgumentType(QualType RetTy) const;
7382 ABIArgInfo HexagonABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
7383 if (RetTy->isVoidType()) in classifyReturnType()
7387 if (RetTy->isVectorType() && getContext().getTypeSize(RetTy) > 64) in classifyReturnType()
7388 return getNaturalAlignIndirect(RetTy); in classifyReturnType()
7390 if (!isAggregateTypeForABI(RetTy)) { in classifyReturnType()
7392 if (const EnumType *EnumTy = RetTy->getAs<EnumType>()) in classifyReturnType()
7393 RetTy = EnumTy->getDecl()->getIntegerType(); in classifyReturnType()
7395 return (RetTy->isPromotableIntegerType() ? ABIArgInfo::getExtend(RetTy) in classifyReturnType()
7399 if (isEmptyRecord(getContext(), RetTy, true)) in classifyReturnType()
7404 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
7416 return getNaturalAlignIndirect(RetTy, /*ByVal=*/true); in classifyReturnType()
7456 ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State) const;
7574 ABIArgInfo classifyReturnType(QualType RetTy) const;
7642 ABIArgInfo AMDGPUABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
7643 if (isAggregateTypeForABI(RetTy)) { in classifyReturnType()
7646 if (!getRecordArgABI(RetTy, getCXXABI())) { in classifyReturnType()
7648 if (isEmptyRecord(getContext(), RetTy, true)) in classifyReturnType()
7652 if (const Type *SeltTy = isSingleElementStruct(RetTy, getContext())) in classifyReturnType()
7655 if (const RecordType *RT = RetTy->getAs<RecordType>()) { in classifyReturnType()
7658 return DefaultABIInfo::classifyReturnType(RetTy); in classifyReturnType()
7662 uint64_t Size = getContext().getTypeSize(RetTy); in classifyReturnType()
7674 if (numRegsForType(RetTy) <= MaxNumRegsForArgsRet) in classifyReturnType()
7680 return DefaultABIInfo::classifyReturnType(RetTy); in classifyReturnType()
7942 ABIArgInfo classifyReturnType(QualType RetTy) const;
8005 ABIArgInfo classifyType(QualType RetTy, unsigned SizeLimit) const;
8319 ABIArgInfo classifyReturnType(QualType RetTy) const;
8395 ABIArgInfo ARCABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
8396 if (RetTy->isAnyComplexType()) in classifyReturnType()
8400 auto RetSize = llvm::alignTo(getContext().getTypeSize(RetTy), 32) / 32; in classifyReturnType()
8402 return getIndirectByRef(RetTy, /*HasFreeRegs*/ true); in classifyReturnType()
8404 return DefaultABIInfo::classifyReturnType(RetTy); in classifyReturnType()
9076 ABIArgInfo classifyReturnType(QualType RetTy) const;
9086 QualType RetTy = FI.getReturnType(); in computeInfo() local
9088 FI.getReturnInfo() = classifyReturnType(RetTy); in computeInfo()
9095 getContext().getTypeSize(RetTy) > (2 * XLen); in computeInfo()
9185 ABIArgInfo RISCVABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType()
9186 if (RetTy->isVoidType()) in classifyReturnType()
9193 return classifyArgumentType(RetTy, /*IsFixed=*/true, ArgGPRsLeft); in classifyReturnType()