Lines Matching defs:CodeGenFunction
1 //===--- CodeGenFunction.cpp - Emit LLVM Code from ASTs for a Function ----===//
13 #include "CodeGenFunction.h"
77 CodeGenFunction::CodeGenFunction(CodeGenModule &cgm, bool suppressNewContext)
92 CodeGenFunction::~CodeGenFunction() {
123 void CodeGenFunction::SetFastMathFlags(FPOptions FPFeatures) {
135 CodeGenFunction::CGFPOptionsRAII::CGFPOptionsRAII(CodeGenFunction &CGF,
141 CodeGenFunction::CGFPOptionsRAII::CGFPOptionsRAII(CodeGenFunction &CGF,
147 void CodeGenFunction::CGFPOptionsRAII::ConstructorHelper(FPOptions FPFeatures) {
192 CodeGenFunction::CGFPOptionsRAII::~CGFPOptionsRAII() {
200 bool MightBeSigned, CodeGenFunction &CGF,
215 CodeGenFunction::MakeNaturalAlignAddrLValue(llvm::Value *V, QualType T,
223 CodeGenFunction::MakeNaturalAlignPointeeAddrLValue(llvm::Value *V, QualType T) {
228 LValue CodeGenFunction::MakeNaturalAlignRawAddrLValue(llvm::Value *V,
234 LValue CodeGenFunction::MakeNaturalAlignPointeeRawAddrLValue(llvm::Value *V,
240 llvm::Type *CodeGenFunction::ConvertTypeForMem(QualType T) {
244 llvm::Type *CodeGenFunction::ConvertType(QualType T) {
248 llvm::Type *CodeGenFunction::convertTypeForLoadStore(QualType ASTTy,
253 TypeEvaluationKind CodeGenFunction::getEvaluationKind(QualType type) {
310 llvm::DebugLoc CodeGenFunction::EmitReturnBlock() {
356 static void EmitIfUsed(CodeGenFunction &CGF, llvm::BasicBlock *BB) {
365 void CodeGenFunction::FinishFunction(SourceLocation EndLoc) {
578 bool CodeGenFunction::ShouldInstrumentFunction() {
588 bool CodeGenFunction::ShouldSkipSanitizerInstrumentation() {
596 bool CodeGenFunction::ShouldXRayInstrumentFunction() const {
602 bool CodeGenFunction::AlwaysEmitXRayCustomEvents() const {
609 bool CodeGenFunction::AlwaysEmitXRayTypedEvents() const {
617 CodeGenFunction::getUBSanFunctionTypeHash(QualType Ty) const {
629 void CodeGenFunction::EmitKernelMetadata(const FunctionDecl *FD,
697 void CodeGenFunction::markAsIgnoreThreadCheckingAtRuntime(llvm::Function *Fn) {
705 bool CodeGenFunction::requiresReturnValueCheck() const {
731 bool CodeGenFunction::isInAllocaArgument(CGCXXABI &ABI, QualType Ty) {
736 bool CodeGenFunction::hasInAllocaArg(const CXXMethodDecl *MD) {
753 void CodeGenFunction::StartFunction(GlobalDecl GD, QualType RetTy,
760 "Do not use a CodeGenFunction object for more than one function");
1329 void CodeGenFunction::EmitFunctionBody(const Stmt *Body) {
1342 void CodeGenFunction::EmitBlockWithFallThrough(llvm::BasicBlock *BB,
1379 QualType CodeGenFunction::BuildFunctionArgList(GlobalDecl GD,
1422 void CodeGenFunction::GenerateCode(GlobalDecl GD, llvm::Function *Fn,
1602 bool CodeGenFunction::ContainsLabel(const Stmt *S, bool IgnoreCaseStmts) {
1634 bool CodeGenFunction::containsBreak(const Stmt *S) {
1655 bool CodeGenFunction::mightAddDeclToScope(const Stmt *S) {
1681 bool CodeGenFunction::ConstantFoldsToSimpleInteger(const Expr *Cond,
1702 bool CodeGenFunction::ConstantFoldsToSimpleInteger(const Expr *Cond,
1712 if (!AllowLabels && CodeGenFunction::ContainsLabel(Cond))
1720 const Expr *CodeGenFunction::stripCond(const Expr *C) {
1731 bool CodeGenFunction::isInstrumentedCondition(const Expr *C) {
1740 void CodeGenFunction::EmitBranchToCounterBlock(
1814 void CodeGenFunction::EmitBranchOnBoolExpr(
2063 void CodeGenFunction::ErrorUnsupported(const Stmt *S, const char *Type) {
2074 static void emitNonZeroVLAInit(CodeGenFunction &CGF, QualType baseType,
2119 CodeGenFunction::EmitNullInitialization(Address DestPtr, QualType Ty) {
2189 llvm::BlockAddress *CodeGenFunction::GetAddrOfLabel(const LabelDecl *L) {
2201 llvm::BasicBlock *CodeGenFunction::GetIndirectGotoBlock() {
2218 llvm::Value *CodeGenFunction::emitArrayLength(const ArrayType *origArrayType,
2308 CodeGenFunction::VlaSizePair CodeGenFunction::getVLASize(QualType type) {
2314 CodeGenFunction::VlaSizePair
2315 CodeGenFunction::getVLASize(const VariableArrayType *type) {
2338 CodeGenFunction::VlaSizePair
2339 CodeGenFunction::getVLAElements1D(QualType type) {
2345 CodeGenFunction::VlaSizePair
2346 CodeGenFunction::getVLAElements1D(const VariableArrayType *Vla) {
2353 void CodeGenFunction::EmitVariablyModifiedType(QualType type) {
2511 Address CodeGenFunction::EmitVAListRef(const Expr* E) {
2517 Address CodeGenFunction::EmitMSVAListRef(const Expr *E) {
2521 void CodeGenFunction::EmitDeclRefExprDbgValue(const DeclRefExpr *E,
2529 CodeGenFunction::PeepholeProtection
2530 CodeGenFunction::protectFromPeepholes(RValue rvalue) {
2549 void CodeGenFunction::unprotectFromPeepholes(PeepholeProtection protection) {
2556 void CodeGenFunction::emitAlignmentAssumption(llvm::Value *PtrValue,
2596 void CodeGenFunction::emitAlignmentAssumption(llvm::Value *PtrValue,
2608 llvm::Value *CodeGenFunction::EmitAnnotationCall(llvm::Function *AnnotationFn,
2624 void CodeGenFunction::EmitVarAnnotations(const VarDecl *D, llvm::Value *V) {
2632 Address CodeGenFunction::EmitFieldAnnotations(const FieldDecl *D,
2657 CodeGenFunction::CGCapturedStmtInfo::~CGCapturedStmtInfo() { }
2659 CodeGenFunction::SanitizerScope::SanitizerScope(CodeGenFunction *CGF)
2665 CodeGenFunction::SanitizerScope::~SanitizerScope() {
2669 void CodeGenFunction::InsertHelper(llvm::Instruction *I,
2687 void CodeGenFunction::checkTargetFeatures(const CallExpr *E,
2712 void CodeGenFunction::checkTargetFeatures(SourceLocation Loc,
2789 void CodeGenFunction::EmitSanitizerStatReport(llvm::SanitizerStatKind SSK) {
2798 void CodeGenFunction::EmitKCFIOperandBundle(
2806 llvm::Value *CodeGenFunction::FormAArch64ResolverCondition(
2817 llvm::Value *CodeGenFunction::FormX86ResolverCondition(
2861 void CodeGenFunction::EmitMultiVersionResolver(
2881 void CodeGenFunction::EmitAArch64MultiVersionResolver(
2927 void CodeGenFunction::EmitX86MultiVersionResolver(
2973 void CodeGenFunction::emitAlignmentAssumptionCheck(
3022 llvm::DebugLoc CodeGenFunction::SourceLocToDebugLoc(SourceLocation Location) {
3030 CodeGenFunction::emitCondLikelihoodViaExpectIntrinsic(llvm::Value *Cond,
3053 llvm::Value *CodeGenFunction::emitBoolVecConversion(llvm::Value *SrcVec,
3069 void CodeGenFunction::EmitPointerAuthOperandBundle(
3085 static llvm::Value *EmitPointerAuthCommon(CodeGenFunction &CGF,
3113 CodeGenFunction::EmitPointerAuthSign(const CGPointerAuthInfo &PointerAuth,
3121 static llvm::Value *EmitStrip(CodeGenFunction &CGF,
3135 CodeGenFunction::EmitPointerAuthAuth(const CGPointerAuthInfo &PointerAuth,