clang  6.0.0svn
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>
Include dependency graph for SwiftCallingConv.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::CodeGen::swiftcall::SwiftAggLowering
 

Namespaces

 llvm
 DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators.
 
 clang
 Dataflow Directional Tag Classes.
 
 clang::CodeGen
 
 clang::CodeGen::swiftcall
 

Functions

CharUnits clang::CodeGen::swiftcall::getMaximumVoluntaryIntegerSize (CodeGenModule &CGM)
 Return the maximum voluntary integer size for the current target. More...
 
CharUnits clang::CodeGen::swiftcall::getNaturalAlignment (CodeGenModule &CGM, llvm::Type *type)
 Return the Swift CC's notion of the natural alignment of a type. More...
 
bool clang::CodeGen::swiftcall::isLegalIntegerType (CodeGenModule &CGM, llvm::IntegerType *type)
 Is the given integer type "legal" for Swift's perspective on the current platform? More...
 
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? More...
 
bool clang::CodeGen::swiftcall::isLegalVectorType (CodeGenModule &CGM, CharUnits vectorSize, llvm::Type *eltTy, unsigned numElts)
 
std::pair< llvm::Type *, unsigned > clang::CodeGen::swiftcall::splitLegalVectorType (CodeGenModule &CGM, CharUnits vectorSize, llvm::VectorType *vectorTy)
 Minimally split a legal vector type. More...
 
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. More...
 
bool clang::CodeGen::swiftcall::shouldPassCXXRecordIndirectly (CodeGenModule &CGM, const CXXRecordDecl *record)
 Should a C++ record type be passed and returned indirectly? More...
 
ABIArgInfo clang::CodeGen::swiftcall::classifyReturnType (CodeGenModule &CGM, CanQualType type)
 Classify the rules for how to return a particular type. More...
 
ABIArgInfo clang::CodeGen::swiftcall::classifyArgumentType (CodeGenModule &CGM, CanQualType type)
 Classify the rules for how to pass a particular type. More...
 
void clang::CodeGen::swiftcall::computeABIInfo (CodeGenModule &CGM, CGFunctionInfo &FI)
 Compute the ABI information of a swiftcall function. More...
 
bool clang::CodeGen::swiftcall::isSwiftErrorLoweredInRegister (CodeGenModule &CGM)
 Is swifterror lowered to a register by the target ABI. More...