clang 19.0.0git
Classes | Namespaces | Functions
SwiftCallingConv.h File Reference
#include "clang/AST/CanonicalType.h"
#include "clang/AST/CharUnits.h"
#include "clang/AST/Type.h"
#include "llvm/Support/TrailingObjects.h"
#include <cassert>

Go to the source code of this file.

Classes

class  clang::CodeGen::swiftcall::SwiftAggLowering
 

Namespaces

namespace  llvm
 Diagnostic wrappers for TextAPI types for error reporting.
 
namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::CodeGen
 
namespace  clang::CodeGen::swiftcall
 

Functions

bool clang::CodeGen::swiftcall::shouldPassIndirectly (CodeGenModule &CGM, ArrayRef< llvm::Type * > types, bool asReturnValue)
 Should an aggregate which expands to the given type sequence be passed/returned indirectly under swiftcall?
 
CharUnits clang::CodeGen::swiftcall::getMaximumVoluntaryIntegerSize (CodeGenModule &CGM)
 Return the maximum voluntary integer size for the current target.
 
CharUnits clang::CodeGen::swiftcall::getNaturalAlignment (CodeGenModule &CGM, llvm::Type *type)
 Return the Swift CC's notion of the natural alignment of a type.
 
bool clang::CodeGen::swiftcall::isLegalIntegerType (CodeGenModule &CGM, llvm::IntegerType *type)
 Is the given integer type "legal" for Swift's perspective on the current platform?
 
bool clang::CodeGen::swiftcall::isLegalVectorType (CodeGenModule &CGM, CharUnits vectorSize, llvm::VectorType *vectorTy)
 Is the given vector type "legal" for Swift's perspective on the current platform?
 
bool clang::CodeGen::swiftcall::isLegalVectorType (CodeGenModule &CGM, CharUnits vectorSize, llvm::Type *eltTy, unsigned numElts)
 
std::pair< llvm::Type *, unsignedclang::CodeGen::swiftcall::splitLegalVectorType (CodeGenModule &CGM, CharUnits vectorSize, llvm::VectorType *vectorTy)
 Minimally split a legal vector type.
 
void clang::CodeGen::swiftcall::legalizeVectorType (CodeGenModule &CGM, CharUnits vectorSize, llvm::VectorType *vectorTy, llvm::SmallVectorImpl< llvm::Type * > &types)
 Turn a vector type in a sequence of legal component vector types.
 
bool clang::CodeGen::swiftcall::mustPassRecordIndirectly (CodeGenModule &CGM, const RecordDecl *record)
 Is the given record type required to be passed and returned indirectly because of language restrictions?
 
ABIArgInfo clang::CodeGen::swiftcall::classifyReturnType (CodeGenModule &CGM, CanQualType type)
 Classify the rules for how to return a particular type.
 
ABIArgInfo clang::CodeGen::swiftcall::classifyArgumentType (CodeGenModule &CGM, CanQualType type)
 Classify the rules for how to pass a particular type.
 
void clang::CodeGen::swiftcall::computeABIInfo (CodeGenModule &CGM, CGFunctionInfo &FI)
 Compute the ABI information of a swiftcall function.
 
bool clang::CodeGen::swiftcall::isSwiftErrorLoweredInRegister (CodeGenModule &CGM)
 Is swifterror lowered to a register by the target ABI?