/freebsd/contrib/llvm-project/clang/lib/CodeGen/Targets/ |
H A D | ARC.cpp | 30 void updateState(const ABIArgInfo &Info, QualType Ty, CCState &State) const { in updateState() 58 ABIArgInfo getIndirectByRef(QualType Ty, bool HasFreeRegs) const; 59 ABIArgInfo getIndirectByValue(QualType Ty) const; 60 ABIArgInfo classifyArgumentType(QualType Ty, uint8_t FreeRegs) const; 61 ABIArgInfo classifyReturnType(QualType RetTy) const; 71 ABIArgInfo ARCABIInfo::getIndirectByRef(QualType Ty, bool HasFreeRegs) const { in getIndirectByRef() 76 ABIArgInfo ARCABIInfo::getIndirectByValue(QualType Ty) const { in getIndirectByValue() 80 return ABIArgInfo::getIndirect(CharUnits::fromQuantity(4), /*ByVal=*/true, in getIndirectByValue() 91 ABIArgInfo ARCABIInfo::classifyArgumentType(QualType Ty, in classifyArgumentType() 117 return ABIArgInfo::getIgnore(); in classifyArgumentType() [all …]
|
H A D | PNaCl.cpp | 26 ABIArgInfo classifyReturnType(QualType RetTy) const; 27 ABIArgInfo classifyArgumentType(QualType RetTy) const; 58 EmitVAArgInstr(CGF, VAListAddr, Ty, ABIArgInfo::getDirect()), Ty), in EmitVAArg() 63 ABIArgInfo PNaClABIInfo::classifyArgumentType(QualType Ty) const { in classifyArgumentType() 73 return ABIArgInfo::getDirect(); in classifyArgumentType() 79 return ABIArgInfo::getDirect(); in classifyArgumentType() 82 return (isPromotableIntegerTypeForABI(Ty) ? ABIArgInfo::getExtend(Ty) in classifyArgumentType() 83 : ABIArgInfo::getDirect()); in classifyArgumentType() 86 ABIArgInfo PNaClABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 88 return ABIArgInfo::getIgnore(); in classifyReturnType() [all …]
|
H A D | CSKY.cpp | 31 ABIArgInfo classifyArgumentType(QualType Ty, int &ArgGPRsLeft, 34 ABIArgInfo classifyReturnType(QualType RetTy) const; 47 bool IsRetIndirect = FI.getReturnInfo().getKind() == ABIArgInfo::Indirect; in computeInfo() 74 ABIArgInfo CSKYABIInfo::classifyArgumentType(QualType Ty, int &ArgGPRsLeft, in classifyArgumentType() 91 return ABIArgInfo::getIgnore(); in classifyArgumentType() 95 return ABIArgInfo::getDirect(CGT.ConvertType(QualType(SeltTy, 0))); in classifyArgumentType() 102 return ABIArgInfo::getDirect(); in classifyArgumentType() 111 return ABIArgInfo::getDirect(); in classifyArgumentType() 123 return ABIArgInfo::getExtend(Ty); in classifyArgumentType() 127 return ABIArgInfo::getExtend(Ty); in classifyArgumentType() [all …]
|
H A D | Lanai.cpp | 46 ABIArgInfo getIndirectResult(QualType Ty, bool ByVal, CCState &State) const; 47 ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State) const; 68 ABIArgInfo LanaiABIInfo::getIndirectResult(QualType Ty, bool ByVal, in getIndirectResult() 81 return ABIArgInfo::getIndirect(CharUnits::fromQuantity(4), /*ByVal=*/true, in getIndirectResult() 86 ABIArgInfo LanaiABIInfo::classifyArgumentType(QualType Ty, in classifyArgumentType() 106 return ABIArgInfo::getIgnore(); in classifyArgumentType() 115 return ABIArgInfo::getDirectInReg(Result); in classifyArgumentType() 135 return ABIArgInfo::getDirectInReg(); in classifyArgumentType() 136 return ABIArgInfo::getExtend(Ty); in classifyArgumentType() 139 return ABIArgInfo::getDirectInReg(); in classifyArgumentType() [all …]
|
H A D | VE.cpp | 24 ABIArgInfo classifyReturnType(QualType RetTy) const; 25 ABIArgInfo classifyArgumentType(QualType RetTy) const; 30 ABIArgInfo VEABIInfo::classifyReturnType(QualType Ty) const { in classifyReturnType() 32 return ABIArgInfo::getDirect(); in classifyReturnType() 35 return ABIArgInfo::getExtend(Ty); in classifyReturnType() 39 ABIArgInfo VEABIInfo::classifyArgumentType(QualType Ty) const { in classifyArgumentType() 41 return ABIArgInfo::getDirect(); in classifyArgumentType() 44 return ABIArgInfo::getExtend(Ty); in classifyArgumentType()
|
H A D | Sparc.cpp | 27 ABIArgInfo classifyReturnType(QualType RetTy) const; 33 ABIArgInfo 36 return ABIArgInfo::getDirect(); in classifyReturnType() 112 ABIArgInfo classifyType(QualType RetTy, unsigned SizeLimit) const; 225 ABIArgInfo 228 return ABIArgInfo::getIgnore(); in classifyType() 243 return ABIArgInfo::getExtend(Ty); in classifyType() 247 return ABIArgInfo::getExtend(Ty); in classifyType() 251 return ABIArgInfo::getDirect(); in classifyType() 262 return ABIArgInfo::getDirect(); in classifyType() [all …]
|
H A D | RISCV.cpp | 47 ABIArgInfo classifyArgumentType(QualType Ty, bool IsFixed, int &ArgGPRsLeft, 49 ABIArgInfo classifyReturnType(QualType RetTy) const; 54 ABIArgInfo extendType(QualType Ty) const; 60 ABIArgInfo coerceAndExpandFPCCEligibleStruct(llvm::Type *Field1Ty, 65 ABIArgInfo coerceVLSVector(QualType Ty) const; 79 bool IsRetIndirect = FI.getReturnInfo().getKind() == ABIArgInfo::Indirect; in computeInfo() 271 ABIArgInfo RISCVABIInfo::coerceAndExpandFPCCEligibleStruct( in coerceAndExpandFPCCEligibleStruct() 284 return ABIArgInfo::getCoerceAndExpand( in coerceAndExpandFPCCEligibleStruct() 315 return ABIArgInfo::getCoerceAndExpand(CoerceToType, UnpaddedCoerceToType); in coerceAndExpandFPCCEligibleStruct() 320 ABIArgInfo RISCVABIInfo::coerceVLSVector(QualType Ty) const { in coerceVLSVector() [all …]
|
H A D | Mips.cpp | 34 ABIArgInfo classifyReturnType(QualType RetTy) const; 35 ABIArgInfo classifyArgumentType(QualType RetTy, uint64_t &Offset) const; 39 ABIArgInfo extendType(QualType Ty) const; 192 ABIArgInfo 208 return ABIArgInfo::getIgnore(); in classifyArgumentType() 218 ABIArgInfo ArgInfo = in classifyArgumentType() 219 ABIArgInfo::getDirect(HandleAggregates(Ty, TySize), 0, in classifyArgumentType() 240 return ABIArgInfo::getDirect( in classifyArgumentType() 286 ABIArgInfo MipsABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 290 return ABIArgInfo::getIgnore(); in classifyReturnType() [all …]
|
H A D | BPF.cpp | 25 ABIArgInfo classifyArgumentType(QualType Ty) const { in classifyArgumentType() 31 return ABIArgInfo::getIgnore(); in classifyArgumentType() 43 return ABIArgInfo::getDirect(CoerceTy); in classifyArgumentType() 57 return (isPromotableIntegerTypeForABI(Ty) ? ABIArgInfo::getExtend(Ty) in classifyArgumentType() 58 : ABIArgInfo::getDirect()); in classifyArgumentType() 61 ABIArgInfo classifyReturnType(QualType RetTy) const { in classifyReturnType() 63 return ABIArgInfo::getIgnore(); in classifyReturnType() 78 return ABIArgInfo::getDirect(); in classifyReturnType()
|
H A D | ARM.cpp | 68 ABIArgInfo classifyReturnType(QualType RetTy, bool isVariadic, 70 ABIArgInfo classifyArgumentType(QualType RetTy, bool isVariadic, 72 ABIArgInfo classifyHomogeneousAggregate(QualType Ty, const Type *Base, 74 ABIArgInfo coerceIllegalVector(QualType Ty) const; 289 ABIArgInfo ARMABIInfo::coerceIllegalVector(QualType Ty) const { in coerceIllegalVector() 294 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() 299 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() 304 ABIArgInfo ARMABIInfo::classifyHomogeneousAggregate(QualType Ty, in classifyHomogeneousAggregate() 316 return ABIArgInfo::getDirect(Ty, 0, nullptr, false); in classifyHomogeneousAggregate() 328 return ABIArgInfo::getDirect(nullptr, 0, nullptr, false, Align); in classifyHomogeneousAggregate() [all …]
|
H A D | X86.cpp | 81 static ABIArgInfo getDirectX86Hva(llvm::Type* T = nullptr) { in getDirectX86Hva() 82 auto AI = ABIArgInfo::getDirect(T); in getDirectX86Hva() 142 ABIArgInfo getIndirectResult(QualType Ty, bool ByVal, CCState &State) const; 144 ABIArgInfo getIndirectReturnResult(QualType Ty, CCState &State) const; 150 ABIArgInfo classifyReturnType(QualType RetTy, CCState &State) const; 151 ABIArgInfo classifyArgumentType(QualType RetTy, CCState &State, 169 CharUnits &StackOffset, ABIArgInfo &Info, 469 ABIArgInfo X86_32ABIInfo::getIndirectReturnResult(QualType RetTy, CCState &State) const { in getIndirectReturnResult() 481 ABIArgInfo X86_32ABIInfo::classifyReturnType(QualType RetTy, in classifyReturnType() 484 return ABIArgInfo::getIgnore(); in classifyReturnType() [all …]
|
H A D | LoongArch.cpp | 43 ABIArgInfo classifyArgumentType(QualType Ty, bool IsFixed, int &GARsLeft, 45 ABIArgInfo classifyReturnType(QualType RetTy) const; 50 ABIArgInfo extendType(QualType Ty) const; 56 ABIArgInfo coerceAndExpandFARsEligibleStruct(llvm::Type *Field1Ty, 73 bool IsRetIndirect = FI.getReturnInfo().getKind() == ABIArgInfo::Indirect; in computeInfo() 252 ABIArgInfo LoongArchABIInfo::coerceAndExpandFARsEligibleStruct( in coerceAndExpandFARsEligibleStruct() 265 return ABIArgInfo::getCoerceAndExpand( in coerceAndExpandFARsEligibleStruct() 292 return ABIArgInfo::getCoerceAndExpand( in coerceAndExpandFARsEligibleStruct() 297 ABIArgInfo LoongArchABIInfo::classifyArgumentType(QualType Ty, bool IsFixed, in classifyArgumentType() 318 return ABIArgInfo::getIgnore(); in classifyArgumentType() [all …]
|
H A D | WebAssembly.cpp | 31 ABIArgInfo classifyReturnType(QualType RetTy) const; 32 ABIArgInfo classifyArgumentType(QualType Ty) const; 99 ABIArgInfo WebAssemblyABIInfo::classifyArgumentType(QualType Ty) const { in classifyArgumentType() 109 return ABIArgInfo::getIgnore(); in classifyArgumentType() 114 return ABIArgInfo::getDirect(CGT.ConvertType(QualType(SeltTy, 0))); in classifyArgumentType() 127 return ABIArgInfo::getExpand(); in classifyArgumentType() 135 ABIArgInfo WebAssemblyABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 142 return ABIArgInfo::getIgnore(); in classifyReturnType() 147 return ABIArgInfo::getDirect(CGT.ConvertType(QualType(SeltTy, 0))); in classifyReturnType() 150 return ABIArgInfo::getDirect(); in classifyReturnType()
|
H A D | NVPTX.cpp | 31 ABIArgInfo classifyReturnType(QualType RetTy) const; 32 ABIArgInfo classifyArgumentType(QualType Ty) const; 38 ABIArgInfo coerceToIntArrayWithLimit(QualType Ty, unsigned MaxSize) const; 140 ABIArgInfo NVPTXABIInfo::coerceToIntArrayWithLimit(QualType Ty, in coerceToIntArrayWithLimit() 148 return ABIArgInfo::getDirect(llvm::ArrayType::get(IntType, NumElements)); in coerceToIntArrayWithLimit() 151 ABIArgInfo NVPTXABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 153 return ABIArgInfo::getIgnore(); in classifyReturnType() 162 return ABIArgInfo::getDirect(); in classifyReturnType() 168 return (isPromotableIntegerTypeForABI(RetTy) ? ABIArgInfo::getExtend(RetTy) in classifyReturnType() 169 : ABIArgInfo::getDirect()); in classifyReturnType() [all …]
|
H A D | PPC.cpp | 118 ABIArgInfo classifyReturnType(QualType RetTy) const; 119 ABIArgInfo classifyArgumentType(QualType Ty) const; 181 ABIArgInfo AIXABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 183 return ABIArgInfo::getDirect(); in classifyReturnType() 186 return ABIArgInfo::getDirect(); in classifyReturnType() 189 return ABIArgInfo::getIgnore(); in classifyReturnType() 194 return (isPromotableTypeForABI(RetTy) ? ABIArgInfo::getExtend(RetTy) in classifyReturnType() 195 : ABIArgInfo::getDirect()); in classifyReturnType() 198 ABIArgInfo AIXABIInfo::classifyArgumentType(QualType Ty) const { in classifyArgumentType() 202 return ABIArgInfo::getDirect(); in classifyArgumentType() [all …]
|
H A D | AVR.cpp | 36 ABIArgInfo classifyReturnType(QualType Ty, bool &LargeRet) const { in classifyReturnType() 43 return ABIArgInfo::getDirect(); in classifyReturnType() 53 return ABIArgInfo::getDirect(); in classifyReturnType() 58 ABIArgInfo classifyArgumentType(QualType Ty, unsigned &NumRegs) const { in classifyArgumentType() 64 return ABIArgInfo::getExtend(Ty); in classifyArgumentType() 75 return ABIArgInfo::getDirect(); in classifyArgumentType() 86 return ABIArgInfo::getDirect(); in classifyArgumentType()
|
H A D | AArch64.cpp | 37 ABIArgInfo classifyReturnType(QualType RetTy, bool IsVariadic) const; 38 ABIArgInfo classifyArgumentType(QualType RetTy, bool IsVariadic, 40 ABIArgInfo coerceIllegalVector(QualType Ty) const; 204 ABIArgInfo AArch64ABIInfo::coerceIllegalVector(QualType Ty) const { in coerceIllegalVector() 213 return ABIArgInfo::getDirect(llvm::ScalableVectorType::get( in coerceIllegalVector() 262 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() 269 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() 273 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() 278 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() 283 return ABIArgInfo::getDirect(ResType); in coerceIllegalVector() [all …]
|
H A D | AMDGPU.cpp | 46 ABIArgInfo classifyReturnType(QualType RetTy) const; 47 ABIArgInfo classifyKernelArgumentType(QualType Ty) const; 48 ABIArgInfo classifyArgumentType(QualType Ty, bool Variadic, 130 ABIArgInfo AMDGPUABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 137 return ABIArgInfo::getIgnore(); in classifyReturnType() 141 return ABIArgInfo::getDirect(CGT.ConvertType(QualType(SeltTy, 0))); in classifyReturnType() 152 return ABIArgInfo::getDirect(llvm::Type::getInt16Ty(getVMContext())); in classifyReturnType() 155 return ABIArgInfo::getDirect(llvm::Type::getInt32Ty(getVMContext())); in classifyReturnType() 159 return ABIArgInfo::getDirect(llvm::ArrayType::get(I32Ty, 2)); in classifyReturnType() 163 return ABIArgInfo::getDirect(); in classifyReturnType() [all …]
|
H A D | Hexagon.cpp | 26 ABIArgInfo classifyReturnType(QualType RetTy) const; 27 ABIArgInfo classifyArgumentType(QualType RetTy) const; 28 ABIArgInfo classifyArgumentType(QualType RetTy, unsigned *RegsLeft) const; 96 ABIArgInfo HexagonABIInfo::classifyArgumentType(QualType Ty, in classifyArgumentType() 110 return isPromotableIntegerTypeForABI(Ty) ? ABIArgInfo::getExtend(Ty) in classifyArgumentType() 111 : ABIArgInfo::getDirect(); in classifyArgumentType() 119 return ABIArgInfo::getIgnore(); in classifyArgumentType() 132 return ABIArgInfo::getDirect(llvm::Type::getIntNTy(getVMContext(), Size)); in classifyArgumentType() 137 ABIArgInfo HexagonABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 139 return ABIArgInfo::getIgnore(); in classifyReturnType() [all …]
|
H A D | MSP430.cpp | 22 static ABIArgInfo complexArgInfo() { in complexArgInfo() 23 ABIArgInfo Info = ABIArgInfo::getDirect(); in complexArgInfo() 31 ABIArgInfo classifyReturnType(QualType RetTy) const { in classifyReturnType() 38 ABIArgInfo classifyArgumentType(QualType RetTy) const { in classifyArgumentType()
|
H A D | SystemZ.cpp | 37 ABIArgInfo classifyReturnType(QualType RetTy) const; 38 ABIArgInfo classifyArgumentType(QualType ArgTy) const; 266 ABIArgInfo AI = classifyArgumentType(Ty); in EmitVAArg() 403 ABIArgInfo SystemZABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 405 return ABIArgInfo::getIgnore(); in classifyReturnType() 407 return ABIArgInfo::getDirect(); in classifyReturnType() 410 return (isPromotableIntegerTypeForABI(RetTy) ? ABIArgInfo::getExtend(RetTy) in classifyReturnType() 411 : ABIArgInfo::getDirect()); in classifyReturnType() 414 ABIArgInfo SystemZABIInfo::classifyArgumentType(QualType Ty) const { in classifyArgumentType() 424 return ABIArgInfo::getExtend(Ty, CGT.ConvertType(Ty)); in classifyArgumentType() [all …]
|
/freebsd/contrib/llvm-project/clang/include/clang/CodeGen/ |
H A D | CGFunctionInfo.h | 32 class ABIArgInfo { 135 ABIArgInfo(Kind K = Direct) 142 static ABIArgInfo getDirect(llvm::Type *T = nullptr, unsigned Offset = 0, 145 auto AI = ABIArgInfo(Direct); 153 static ABIArgInfo getDirectInReg(llvm::Type *T = nullptr) { 159 static ABIArgInfo getSignExtend(QualType Ty, llvm::Type *T = nullptr) { 161 auto AI = ABIArgInfo(Extend); 170 static ABIArgInfo getZeroExtend(QualType Ty, llvm::Type *T = nullptr) { 172 auto AI = ABIArgInfo(Extend); 183 static ABIArgInfo getExtend(QualType Ty, llvm::Type *T = nullptr) { [all …]
|
/freebsd/contrib/llvm-project/clang/lib/CodeGen/ |
H A D | ABIInfoImpl.h | 27 ABIArgInfo classifyReturnType(QualType RetTy) const; 28 ABIArgInfo classifyArgumentType(QualType RetTy) const; 50 ABIArgInfo coerceToIntArray(QualType Ty, ASTContext &Context, 161 const ABIArgInfo &AI);
|
H A D | CGCall.cpp | 814 ABIArgInfo &retInfo = FI->getReturnInfo(); in arrangeLLVMFunctionInfo() 1403 const ABIArgInfo &info) { in emitAddressAtOffset() 1487 const ABIArgInfo &RetAI = FI.getReturnInfo(); in construct() 1489 if (RetAI.getKind() == ABIArgInfo::Indirect) { in construct() 1500 const ABIArgInfo &AI = I->info; in construct() 1508 case ABIArgInfo::Extend: in construct() 1509 case ABIArgInfo::Direct: { in construct() 1519 case ABIArgInfo::Indirect: in construct() 1520 case ABIArgInfo::IndirectAliased: in construct() 1523 case ABIArgInfo::Ignore: in construct() [all …]
|
H A D | ABIInfoImpl.cpp | 17 ABIArgInfo DefaultABIInfo::classifyArgumentType(QualType Ty) const { in classifyArgumentType() 41 return (isPromotableIntegerTypeForABI(Ty) ? ABIArgInfo::getExtend(Ty) in classifyArgumentType() 42 : ABIArgInfo::getDirect()); in classifyArgumentType() 45 ABIArgInfo DefaultABIInfo::classifyReturnType(QualType RetTy) const { in classifyReturnType() 47 return ABIArgInfo::getIgnore(); in classifyReturnType() 63 return (isPromotableIntegerTypeForABI(RetTy) ? ABIArgInfo::getExtend(RetTy) in classifyReturnType() 64 : ABIArgInfo::getDirect()); in classifyReturnType() 82 ABIArgInfo CodeGen::coerceToIntArray(QualType Ty, ASTContext &Context, in coerceToIntArray() 89 return ABIArgInfo::getDirect(llvm::ArrayType::get(IntType, NumElements)); in coerceToIntArray() 416 QualType Ty, const ABIArgInfo &AI) { in EmitVAArgInstr()
|