Lines Matching refs:Ty

32   RValue EmitVAArg(CodeGenFunction &CGF, Address VAListAddr, QualType Ty,
35 QualType Ty) const;
37 QualType Ty) const;
39 QualType Ty) const;
96 ABIArgInfo HexagonABIInfo::classifyArgumentType(QualType Ty, in classifyArgumentType() argument
98 if (!isAggregateTypeForABI(Ty)) { in classifyArgumentType()
100 if (const EnumType *EnumTy = Ty->getAs<EnumType>()) in classifyArgumentType()
101 Ty = EnumTy->getDecl()->getIntegerType(); in classifyArgumentType()
103 uint64_t Size = getContext().getTypeSize(Ty); in classifyArgumentType()
107 if (Size > 64 && Ty->isBitIntType()) in classifyArgumentType()
108 return getNaturalAlignIndirect(Ty, /*ByVal=*/true); in classifyArgumentType()
110 return isPromotableIntegerTypeForABI(Ty) ? ABIArgInfo::getExtend(Ty) in classifyArgumentType()
114 if (CGCXXABI::RecordArgABI RAA = getRecordArgABI(Ty, getCXXABI())) in classifyArgumentType()
115 return getNaturalAlignIndirect(Ty, RAA == CGCXXABI::RAA_DirectInMemory); in classifyArgumentType()
118 if (isEmptyRecord(getContext(), Ty, true)) in classifyArgumentType()
121 uint64_t Size = getContext().getTypeSize(Ty); in classifyArgumentType()
122 unsigned Align = getContext().getTypeAlign(Ty); in classifyArgumentType()
125 return getNaturalAlignIndirect(Ty, /*ByVal=*/true); in classifyArgumentType()
134 return DefaultABIInfo::classifyArgumentType(Ty); in classifyArgumentType()
184 QualType Ty) const { in EmitVAArgFromMemory()
191 uint64_t Align = CGF.getContext().getTypeAlign(Ty) / 8; in EmitVAArgFromMemory()
215 llvm::Type *PTy = CGF.ConvertTypeForMem(Ty); in EmitVAArgFromMemory()
220 uint64_t Offset = llvm::alignTo(CGF.getContext().getTypeSize(Ty) / 8, 4); in EmitVAArgFromMemory()
233 QualType Ty) const { in EmitVAArgForHexagon()
240 uint64_t TyAlign = CGF.getContext().getTypeAlign(Ty) / 8; in EmitVAArgForHexagon()
249 Address(Addr, CGF.ConvertType(Ty), CharUnits::fromQuantity(TyAlign)); in EmitVAArgForHexagon()
251 uint64_t Offset = llvm::alignTo(CGF.getContext().getTypeSize(Ty) / 8, 4); in EmitVAArgForHexagon()
261 QualType Ty) const { in EmitVAArgForHexagonLinux()
262 int ArgSize = CGF.getContext().getTypeSize(Ty) / 8; in EmitVAArgForHexagonLinux()
265 return EmitVAArgFromMemory(CGF, VAListAddr, Ty); in EmitVAArgForHexagonLinux()
272 Ty = CGF.getContext().getCanonicalType(Ty); in EmitVAArgForHexagonLinux()
273 (void)classifyArgumentType(Ty, &RegsLeft); in EmitVAArgForHexagonLinux()
282 ArgSize = (CGF.getContext().getTypeSize(Ty) <= 32) ? 4 : 8; in EmitVAArgForHexagonLinux()
283 int ArgAlign = (CGF.getContext().getTypeSize(Ty) <= 32) ? 4 : 8; in EmitVAArgForHexagonLinux()
339 llvm::Type *PTy = CGF.ConvertType(Ty); in EmitVAArgForHexagonLinux()
392 llvm::Type *OverflowPTy = CGF.ConvertTypeForMem(Ty); in EmitVAArgForHexagonLinux()
402 llvm::Type *MemTy = CGF.ConvertTypeForMem(Ty); in EmitVAArgForHexagonLinux()
412 QualType Ty, AggValueSlot Slot) const { in EmitVAArg() argument
416 CGF.MakeAddrLValue(EmitVAArgForHexagonLinux(CGF, VAListAddr, Ty), Ty), in EmitVAArg()
420 CGF.MakeAddrLValue(EmitVAArgForHexagon(CGF, VAListAddr, Ty), Ty), Slot); in EmitVAArg()