Lines Matching refs:CodeGenFunction
1 //===-- CodeGenFunction.h - Per-Function state for LLVM CodeGen -*- C++ -*-===//
168 static saved_type save(CodeGenFunction &CGF, llvm::Value *value);
169 static llvm::Value *restore(CodeGenFunction &CGF, saved_type value);
176 static type restore(CodeGenFunction &CGF, saved_type value) {
199 static saved_type save(CodeGenFunction &CGF, type value) {
204 static type restore(CodeGenFunction &CGF, saved_type value) {
238 static saved_type save(CodeGenFunction &CGF, RValue value);
239 RValue restore(CodeGenFunction &CGF);
247 static saved_type save(CodeGenFunction &CGF, type value) {
250 static type restore(CodeGenFunction &CGF, saved_type value) {
255 /// CodeGenFunction - This class organizes the per-function state that is used
257 class CodeGenFunction : public CodeGenTypeCache {
258 CodeGenFunction(const CodeGenFunction &) = delete;
259 void operator=(const CodeGenFunction &) = delete;
291 CodeGenFunction *ParentCGF = nullptr;
326 typedef llvm::function_ref<void(CodeGenFunction &, const OMPLoopDirective &,
329 typedef llvm::function_ref<void(CodeGenFunction &, SourceLocation,
335 CodeGenFunction &, const OMPExecutableDirective &S)>
340 CodeGenFunction &, const OMPExecutableDirective &S, Address LB,
504 virtual void EmitBody(CodeGenFunction &CGF, const Stmt *S) {
536 CodeGenFunction &CGF;
539 CGCapturedStmtRAII(CodeGenFunction &CGF,
578 /// RAII object to set/unset CodeGenFunction::IsSanitizerScope.
580 CodeGenFunction *CGF;
582 SanitizerScope(CodeGenFunction *CGF);
680 CodeGenFunction &CGF;
683 CleanupDeactivationScope(CodeGenFunction &CGF)
721 void Emit(CodeGenFunction &CGF, Flags flags) override {
735 void Emit(CodeGenFunction &CGF, Flags flags) override {
795 CodeGenFunction &CGF;
800 CodeGenFunction &CGF,
818 CGFPOptionsRAII(CodeGenFunction &CGF, FPOptions FPFeatures);
819 CGFPOptionsRAII(CodeGenFunction &CGF, const Expr *E);
824 CodeGenFunction &CGF;
854 void enter(CodeGenFunction &CGF, const Stmt *Finally,
857 void exit(CodeGenFunction &CGF);
1001 CodeGenFunction& CGF;
1005 explicit RunCleanupsScope(CodeGenFunction &CGF)
1058 explicit LexicalScope(CodeGenFunction &CGF, SourceRange Range)
1119 bool setVarAddr(CodeGenFunction &CGF, const VarDecl *LocalVD,
1147 bool apply(CodeGenFunction &CGF) {
1154 void restore(CodeGenFunction &CGF) {
1184 explicit OMPPrivateScope(CodeGenFunction &CGF) : RunCleanupsScope(CGF) {}
1233 CodeGenFunction &CGF;
1237 OMPLocalDeclMapRAII(CodeGenFunction &CGF)
1299 ConditionalEvaluation(CodeGenFunction &CGF)
1302 void begin(CodeGenFunction &CGF) {
1308 void end(CodeGenFunction &CGF) {
1326 CodeGenFunction &CGF) {
1337 CodeGenFunction &CGF;
1345 StmtExprEvaluation(CodeGenFunction &CGF)
1361 friend class CodeGenFunction;
1376 CodeGenFunction::PeepholeProtection Protection;
1395 static OpaqueValueMappingData bind(CodeGenFunction &CGF,
1403 static OpaqueValueMappingData bind(CodeGenFunction &CGF,
1411 static OpaqueValueMappingData bind(CodeGenFunction &CGF,
1430 void unbind(CodeGenFunction &CGF) {
1444 CodeGenFunction &CGF;
1457 OpaqueValueMapping(CodeGenFunction &CGF,
1470 OpaqueValueMapping(CodeGenFunction &CGF, const OpaqueValueExpr *OV)
1479 OpaqueValueMapping(CodeGenFunction &CGF,
1485 OpaqueValueMapping(CodeGenFunction &CGF,
1576 void emitExit(CodeGenFunction &CGF, OpenMPDirectiveKind Kind,
1577 const llvm::function_ref<void(CodeGenFunction &)> CodeGen) {
1595 void enter(CodeGenFunction &CGF, OpenMPDirectiveKind Kind, bool HasCancel) {
1604 void exit(CodeGenFunction &CGF) {
1776 FieldConstructionScope(CodeGenFunction &CGF, Address This)
1785 CodeGenFunction &CGF;
1793 CXXDefaultInitExprScope(CodeGenFunction &CGF, const CXXDefaultInitExpr *E)
1806 CodeGenFunction &CGF;
1813 CXXDefaultArgExprScope(CodeGenFunction &CGF, const CXXDefaultArgExpr *E)
1821 ArrayInitLoopExprScope(CodeGenFunction &CGF, llvm::Value *Index)
1830 CodeGenFunction &CGF;
1836 InlinedInheritingConstructorScope(CodeGenFunction &CGF, GlobalDecl GD)
1875 CodeGenFunction &CGF;
1894 // CGOpenMPRuntime, new versions of current CodeGenFunction methods, or
1919 void Emit(CodeGenFunction &CGF, Flags /*flags*/) override {
1932 static Address getAddrOfThreadPrivate(CodeGenFunction &CGF,
1937 static Address getAddressOfLocalVariable(CodeGenFunction &CGF,
1951 static void FinalizeOMPRegion(CodeGenFunction &CGF, InsertPointTy IP) {
1963 CodeGenFunction::JumpDest Dest = CGF.getJumpDestInCurrentScope(DestBB);
1974 static void EmitOMPInlinedRegionBody(CodeGenFunction &CGF,
1980 static void EmitCaptureStmt(CodeGenFunction &CGF, InsertPointTy CodeGenIP,
2006 static void EmitOMPOutlinedRegionBody(CodeGenFunction &CGF,
2016 CodeGenFunction::JumpDest OldReturnBlock;
2017 CodeGenFunction &CGF;
2020 OutlinedRegionBodyRAII(CodeGenFunction &cgf, InsertPointTy &AllocaIP,
2042 CodeGenFunction &CGF;
2045 InlinedRegionBodyRAII(CodeGenFunction &cgf, InsertPointTy &AllocaIP,
2154 CodeGenFunction(CodeGenModule &cgm, bool suppressNewContext=false);
2155 ~CodeGenFunction();
2210 typedef void Destroyer(CodeGenFunction &CGF, Address addr, QualType ty);
2800 AllocaTrackerRAII(CodeGenFunction &CGF)
2809 CodeGenFunction &CGF;
3372 typedef void SpecialInitFn(CodeGenFunction &Init, const VarDecl &D,
3385 friend class CodeGenFunction;
3448 Address getObjectAddress(CodeGenFunction &CGF) const {
3628 void startOutlinedSEHHelper(CodeGenFunction &ParentCGF, bool IsFilter,
3631 llvm::Function *GenerateSEHFilterFunction(CodeGenFunction &ParentCGF,
3634 llvm::Function *GenerateSEHFinallyFunction(CodeGenFunction &ParentCGF,
3637 void EmitSEHExceptionCodeSave(CodeGenFunction &ParentCGF,
3650 void EmitCapturedLocals(CodeGenFunction &ParentCGF, const Stmt *OutlinedStmt,
3658 Address recoverAddrOfEscapedLocal(CodeGenFunction &ParentCGF,
3667 CodeGenFunction &CGF;
3670 OMPCancelStackRAII(CodeGenFunction &CGF, OpenMPDirectiveKind Kind,
3783 CodeGenFunction::OMPPrivateScope &PrivateScope);
3789 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen);
3815 typedef const llvm::function_ref<void(CodeGenFunction & /*CGF*/,
3842 CodeGenFunction &CGF,
4016 const llvm::function_ref<void(CodeGenFunction &)> BodyGen,
4017 const llvm::function_ref<void(CodeGenFunction &)> PostIncGen);
4042 const llvm::function_ref<llvm::Value *(CodeGenFunction &)> CondGen);
4424 LValue getReferenceLValue(CodeGenFunction &CGF, Expr *refExpr) const {
5479 DominatingLLVMValue::save(CodeGenFunction &CGF, llvm::Value *value) {
5492 inline llvm::Value *DominatingLLVMValue::restore(CodeGenFunction &CGF,