clang
8.0.0
|
#include "clang/CodeGen/SwiftCallingConv.h"
#include "clang/Basic/TargetInfo.h"
#include "CodeGenModule.h"
#include "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. More... | |
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. More... | |
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 412 of file SwiftCallingConv.cpp.
References getOffsetAtStartOfUnit().
Referenced by isMergeableEntryType().
|
static |
Definition at line 785 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 798 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, 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.
Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData().
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 406 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::getABIInfo(), 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(), and clang::CodeGen::CodeGenModule::getDataLayout().
Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::getCoerceAndExpandTypes().
|
static |
Definition at line 56 of file SwiftCallingConv.cpp.
References clang::CharUnits::fromQuantity(), and clang::CodeGen::CodeGenModule::getDataLayout().
Referenced by clang::CodeGen::swiftcall::SwiftAggLowering::addTypedData(), and clang::CodeGen::swiftcall::getNaturalAlignment().
|
static |
Definition at line 418 of file SwiftCallingConv.cpp.
References areBytesInSameUnit(), and clang::CharUnits::One().
|
static |
Definition at line 27 of file SwiftCallingConv.cpp.
Referenced by clang::CodeGen::swiftcall::getNaturalAlignment(), getOffsetAtStartOfUnit(), clang::CodeGen::swiftcall::legalizeVectorType(), and clang::CodeGen::swiftcall::splitLegalVectorType().