clang 20.0.0git
|
#include "clang/CodeGen/SwiftCallingConv.h"
#include "ABIInfo.h"
#include "CodeGenModule.h"
#include "TargetInfo.h"
#include "clang/Basic/TargetInfo.h"
Go to the source code of this file.
Functions | |
static const SwiftABIInfo & | getSwiftABIInfo (CodeGenModule &CGM) |
static bool | isPowerOf2 (unsigned n) |
static llvm::Type * | getCommonType (llvm::Type *first, llvm::Type *second) |
Given two types with the same size, try to find a common type. | |
static CharUnits | getTypeStoreSize (CodeGenModule &CGM, llvm::Type *type) |
static CharUnits | getTypeAllocSize (CodeGenModule &CGM, llvm::Type *type) |
static CharUnits | getOffsetAtStartOfUnit (CharUnits offset, CharUnits unitSize) |
Given a power-of-two unit size, return the offset of the aligned unit of that size which contains the given offset. | |
static bool | areBytesInSameUnit (CharUnits first, CharUnits second, CharUnits chunkSize) |
static bool | isMergeableEntryType (llvm::Type *type) |
static ABIArgInfo | classifyExpandedType (SwiftAggLowering &lowering, bool forReturn, CharUnits alignmentForIndirect) |
static ABIArgInfo | classifyType (CodeGenModule &CGM, CanQualType type, bool forReturn) |
Definition at line 429 of file SwiftCallingConv.cpp.
References getOffsetAtStartOfUnit().
|
static |
Definition at line 797 of file SwiftCallingConv.cpp.
References clang::CodeGen::swiftcall::SwiftAggLowering::empty(), clang::CodeGen::ABIArgInfo::getCoerceAndExpand(), clang::CodeGen::swiftcall::SwiftAggLowering::getCoerceAndExpandTypes(), clang::CodeGen::ABIArgInfo::getIgnore(), clang::CodeGen::ABIArgInfo::getIndirect(), and clang::CodeGen::swiftcall::SwiftAggLowering::shouldPassIndirectly().
Referenced by classifyType().
|
static |
Definition at line 810 of file SwiftCallingConv.cpp.
References clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), classifyExpandedType(), clang::CodeGen::swiftcall::SwiftAggLowering::finish(), clang::ASTContext::getASTRecordLayout(), clang::CodeGen::CodeGenModule::getContext(), clang::CodeGen::ABIArgInfo::getDirect(), clang::CodeGen::ABIArgInfo::getExpand(), clang::CodeGen::ABIArgInfo::getIgnore(), clang::CodeGen::ABIArgInfo::getIndirect(), clang::ASTContext::getTypeAlignInChars(), clang::CodeGen::swiftcall::mustPassRecordIndirectly(), clang::ast_matchers::recordType, clang::ast_matchers::type, and clang::CharUnits::Zero().
Referenced by clang::CodeGen::swiftcall::classifyArgumentType(), and clang::CodeGen::swiftcall::classifyReturnType().
|
static |
Given two types with the same size, try to find a common type.
Definition at line 32 of file SwiftCallingConv.cpp.
References getCommonType().
Referenced by getCommonType().
Given a power-of-two unit size, return the offset of the aligned unit of that size which contains the given offset.
In other words, round down to the nearest multiple of the unit size.
Definition at line 423 of file SwiftCallingConv.cpp.
References clang::CharUnits::fromQuantity(), clang::CharUnits::getQuantity(), and isPowerOf2().
Referenced by areBytesInSameUnit(), and clang::CodeGen::swiftcall::SwiftAggLowering::finish().
|
static |
Definition at line 23 of file SwiftCallingConv.cpp.
References clang::CodeGen::TargetCodeGenInfo::getSwiftABIInfo(), and clang::CodeGen::CodeGenModule::getTargetCodeGenInfo().
Referenced by clang::CodeGen::swiftcall::isLegalVectorType(), clang::CodeGen::swiftcall::isSwiftErrorLoweredInRegister(), clang::CodeGen::swiftcall::SwiftAggLowering::shouldPassIndirectly(), and clang::CodeGen::swiftcall::shouldPassIndirectly().
|
static |
Definition at line 60 of file SwiftCallingConv.cpp.
References clang::CharUnits::fromQuantity(), clang::CodeGen::CodeGenModule::getDataLayout(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::getCoerceAndExpandTypes(), and clang::CodeGen::CodeGenTypes::typeRequiresSplitIntoByteArray().
|
static |
Definition at line 56 of file SwiftCallingConv.cpp.
References clang::CharUnits::fromQuantity(), clang::CodeGen::CodeGenModule::getDataLayout(), and clang::ast_matchers::type.
Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), and clang::CodeGen::swiftcall::getNaturalAlignment().
|
static |
Definition at line 435 of file SwiftCallingConv.cpp.
References clang::ast_matchers::type.
Definition at line 27 of file SwiftCallingConv.cpp.
Referenced by getOffsetAtStartOfUnit(), clang::CodeGen::swiftcall::legalizeVectorType(), and clang::CodeGen::swiftcall::splitLegalVectorType().