clang: lib/CIR/CodeGen/CIRGenCall.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
static void addAttributesFromFunctionProtoType (CIRGenBuilderTy &builder, mlir::NamedAttrList &attrs, const FunctionProtoType *fpt)
static CanQual< FunctionProtoType > getFormalType (const CXXMethodDecl *md)
Returns the canonical formal type of the given C++ method.
static void appendParameterTypes (const CIRGenTypes &cgt, SmallVectorImpl< CanQualType > &prefix, CanQual< FunctionProtoType > fpt)
Adds the formal parameters in FPT to the given prefix.
static const CIRGenFunctionInfo & arrangeCIRFunctionInfo (CIRGenTypes &cgt, SmallVectorImpl< CanQualType > &prefix, CanQual< FunctionProtoType > fpt)
Arrange the CIR function layout for a value of the given function type, on top of any implicit parameters already stored.
static const CIRGenFunctionInfo & arrangeFreeFunctionLikeCall (CIRGenTypes &cgt, CIRGenModule &cgm, const CallArgList &args, const FunctionType *fnType)
static cir::CIRCallOpInterface emitCallLikeOp (CIRGenFunction &cgf, mlir::Location callLoc, cir::FuncType indirectFuncTy, mlir::Value indirectFuncVal, cir::FuncOp directFuncOp, const SmallVectorImpl< mlir::Value > &cirCallArgs, bool isInvoke, const mlir::NamedAttrList &attrs)

addAttributesFromFunctionProtoType()

appendParameterTypes()

arrangeCIRFunctionInfo()

arrangeFreeFunctionLikeCall()

Definition at line 301 of file CIRGenCall.cpp.

References clang::CIRGen::RequiredArgs::All, clang::CIRGen::CIRGenTypes::arrangeCIRFunctionInfo(), clang::cast(), clang::CIRGen::CIRGenModule::errorNYI(), clang::CIRGen::CIRGenTypes::getASTContext(), clang::ASTContext::getCanonicalParamType(), clang::Type::getCanonicalTypeUnqualified(), clang::CIRGen::RequiredArgs::getFromProtoWithExtraSlots(), clang::FunctionType::getReturnType(), clang::CIRGen::CIRGenModule::getTargetCIRGenInfo(), clang::CanQual< T >::getUnqualifiedType(), clang::CIRGen::TargetCIRGenInfo::isNoProtoCallVariadic(), and cir::MissingFeatures::opCallFnInfoOpts().

Referenced by clang::CodeGen::CodeGenTypes::arrangeBlockFunctionCall(), clang::CIRGen::CIRGenTypes::arrangeFreeFunctionCall(), and clang::CodeGen::CodeGenTypes::arrangeFreeFunctionCall().

emitCallLikeOp()

cir::CIRCallOpInterface emitCallLikeOp ( CIRGenFunction & cgf, mlir::Location callLoc, cir::FuncType indirectFuncTy, mlir::Value indirectFuncVal, cir::FuncOp directFuncOp, const SmallVectorImpl< mlir::Value > & cirCallArgs, bool isInvoke, const mlir::NamedAttrList & attrs ) static

getFormalType()