Lines Matching refs:CGF
35 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e);
36 static RValue AdjustObjCObjectType(CodeGenFunction &CGF,
269 static RValue AdjustObjCObjectType(CodeGenFunction &CGF, QualType ExpT, in AdjustObjCObjectType() argument
275 llvm::Type *ExpLLVMTy = CGF.ConvertType(ExpT); in AdjustObjCObjectType()
280 return RValue::get(CGF.Builder.CreateBitCast(Result.getScalarVal(), in AdjustObjCObjectType()
374 tryGenerateSpecializedMessageSend(CodeGenFunction &CGF, QualType ResultType, in tryGenerateSpecializedMessageSend() argument
379 auto &CGM = CGF.CGM; in tryGenerateSpecializedMessageSend()
392 return CGF.EmitObjCAlloc(Receiver, CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
400 return CGF.EmitObjCAllocWithZone(Receiver, in tryGenerateSpecializedMessageSend()
401 CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
411 return CGF.EmitObjCAutorelease(Receiver, CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
418 return CGF.EmitObjCRetainNonBlock(Receiver, CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
425 CGF.EmitObjCRelease(Receiver, ARCPreciseLifetime); in tryGenerateSpecializedMessageSend()
437 CodeGenFunction &CGF, ReturnValueSlot Return, QualType ResultType, in GeneratePossiblySpecializedMessageSend() argument
442 tryGenerateSpecializedMessageSend(CGF, ResultType, Receiver, Args, in GeneratePossiblySpecializedMessageSend()
446 return GenerateMessageSend(CGF, Return, ResultType, Sel, Receiver, Args, OID, in GeneratePossiblySpecializedMessageSend()
523 tryEmitSpecializedAllocInit(CodeGenFunction &CGF, const ObjCMessageExpr *OME) { in tryEmitSpecializedAllocInit() argument
524 auto &Runtime = CGF.getLangOpts().ObjCRuntime; in tryEmitSpecializedAllocInit()
552 Receiver = CGF.EmitScalarExpr(SubOME->getInstanceReceiver()); in tryEmitSpecializedAllocInit()
560 Receiver = CGF.CGM.getObjCRuntime().GetClass(CGF, ID); in tryEmitSpecializedAllocInit()
568 return CGF.EmitObjCAllocInit(Receiver, CGF.ConvertType(OME->getType())); in tryEmitSpecializedAllocInit()
721 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
722 const ObjCMethodDecl *method = cast<ObjCMethodDecl>(CGF.CurCodeDecl); in Emit()
731 llvm::Value *self = CGF.LoadObjCSelf(); in Emit()
734 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot(), in Emit()
735 CGF.getContext().VoidTy, in Emit()
799 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF,
815 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar, in emitStructGetterCall() argument
817 ASTContext &Context = CGF.getContext(); in emitStructGetterCall()
820 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitStructGetterCall()
821 .getAddress(CGF); in emitStructGetterCall()
827 Address dest = CGF.Builder.CreateBitCast(CGF.ReturnValue, CGF.VoidPtrTy); in emitStructGetterCall()
830 src = CGF.Builder.CreateBitCast(src, CGF.VoidPtrTy); in emitStructGetterCall()
833 CharUnits size = CGF.getContext().getTypeSizeInChars(ivar->getType()); in emitStructGetterCall()
834 args.add(RValue::get(CGF.CGM.getSize(size)), Context.getSizeType()); in emitStructGetterCall()
835 args.add(RValue::get(CGF.Builder.getInt1(isAtomic)), Context.BoolTy); in emitStructGetterCall()
836 args.add(RValue::get(CGF.Builder.getInt1(hasStrong)), Context.BoolTy); in emitStructGetterCall()
838 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetGetStructFunction(); in emitStructGetterCall()
840 CGF.EmitCall(CGF.getTypes().arrangeBuiltinFunctionCall(Context.VoidTy, args), in emitStructGetterCall()
1081 static void emitCPPObjectAtomicGetterCall(CodeGenFunction &CGF, in emitCPPObjectAtomicGetterCall() argument
1090 args.add(RValue::get(returnAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1094 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitCPPObjectAtomicGetterCall()
1095 .getPointer(CGF); in emitCPPObjectAtomicGetterCall()
1096 ivarAddr = CGF.Builder.CreateBitCast(ivarAddr, CGF.Int8PtrTy); in emitCPPObjectAtomicGetterCall()
1097 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1100 args.add(RValue::get(AtomicHelperFn), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1103 CGF.CGM.getObjCRuntime().GetCppAtomicObjectGetFunction(); in emitCPPObjectAtomicGetterCall()
1105 CGF.EmitCall( in emitCPPObjectAtomicGetterCall()
1106 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitCPPObjectAtomicGetterCall()
1289 static void emitStructSetterCall(CodeGenFunction &CGF, ObjCMethodDecl *OMD, in emitStructSetterCall() argument
1297 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitStructSetterCall()
1298 .getPointer(CGF); in emitStructSetterCall()
1299 ivarAddr = CGF.Builder.CreateBitCast(ivarAddr, CGF.Int8PtrTy); in emitStructSetterCall()
1300 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitStructSetterCall()
1304 DeclRefExpr argRef(CGF.getContext(), argVar, false, in emitStructSetterCall()
1307 llvm::Value *argAddr = CGF.EmitLValue(&argRef).getPointer(CGF); in emitStructSetterCall()
1308 argAddr = CGF.Builder.CreateBitCast(argAddr, CGF.Int8PtrTy); in emitStructSetterCall()
1309 args.add(RValue::get(argAddr), CGF.getContext().VoidPtrTy); in emitStructSetterCall()
1313 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType())); in emitStructSetterCall()
1314 args.add(RValue::get(size), CGF.getContext().getSizeType()); in emitStructSetterCall()
1317 args.add(RValue::get(CGF.Builder.getTrue()), CGF.getContext().BoolTy); in emitStructSetterCall()
1321 args.add(RValue::get(CGF.Builder.getFalse()), CGF.getContext().BoolTy); in emitStructSetterCall()
1323 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetSetStructFunction(); in emitStructSetterCall()
1325 CGF.EmitCall( in emitStructSetterCall()
1326 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitStructSetterCall()
1333 static void emitCPPObjectAtomicSetterCall(CodeGenFunction &CGF, in emitCPPObjectAtomicSetterCall() argument
1343 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitCPPObjectAtomicSetterCall()
1344 .getPointer(CGF); in emitCPPObjectAtomicSetterCall()
1345 ivarAddr = CGF.Builder.CreateBitCast(ivarAddr, CGF.Int8PtrTy); in emitCPPObjectAtomicSetterCall()
1346 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1350 DeclRefExpr argRef(CGF.getContext(), argVar, false, in emitCPPObjectAtomicSetterCall()
1353 llvm::Value *argAddr = CGF.EmitLValue(&argRef).getPointer(CGF); in emitCPPObjectAtomicSetterCall()
1354 argAddr = CGF.Builder.CreateBitCast(argAddr, CGF.Int8PtrTy); in emitCPPObjectAtomicSetterCall()
1355 args.add(RValue::get(argAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1358 args.add(RValue::get(AtomicHelperFn), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1361 CGF.CGM.getObjCRuntime().GetCppAtomicObjectSetFunction(); in emitCPPObjectAtomicSetterCall()
1363 CGF.EmitCall( in emitCPPObjectAtomicSetterCall()
1364 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitCPPObjectAtomicSetterCall()
1602 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
1604 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0); in Emit()
1605 CGF.emitDestroy(lvalue.getAddress(CGF), ivar->getType(), destroyer, in Emit()
1612 static void destroyARCStrongWithStore(CodeGenFunction &CGF, in destroyARCStrongWithStore() argument
1616 CGF.EmitARCStoreStrongCall(addr, null, /*ignored*/ true); in destroyARCStrongWithStore()
1619 static void emitCXXDestructMethod(CodeGenFunction &CGF, in emitCXXDestructMethod() argument
1621 CodeGenFunction::RunCleanupsScope scope(CGF); in emitCXXDestructMethod()
1623 llvm::Value *self = CGF.LoadObjCSelf(); in emitCXXDestructMethod()
1643 destroyer = CGF.getDestroyer(dtorKind); in emitCXXDestructMethod()
1646 CleanupKind cleanupKind = CGF.getCleanupKind(dtorKind); in emitCXXDestructMethod()
1648 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer, in emitCXXDestructMethod()
2049 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2051 CGF.EmitARCRelease(object, ARCImpreciseLifetime); in Emit()
2113 CodeGenFunction &CGF, llvm::Value *value, llvm::Type *returnType, in emitARCValueOperation() argument
2120 fn = CGF.CGM.getIntrinsic(IntID); in emitARCValueOperation()
2121 setARCRuntimeFunctionLinkage(CGF.CGM, fn); in emitARCValueOperation()
2126 value = CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy); in emitARCValueOperation()
2129 llvm::CallInst *call = CGF.EmitNounwindRuntimeCall(fn, value); in emitARCValueOperation()
2133 return CGF.Builder.CreateBitCast(call, origType); in emitARCValueOperation()
2138 static llvm::Value *emitARCLoadOperation(CodeGenFunction &CGF, Address addr, in emitARCLoadOperation() argument
2142 fn = CGF.CGM.getIntrinsic(IntID); in emitARCLoadOperation()
2143 setARCRuntimeFunctionLinkage(CGF.CGM, fn); in emitARCLoadOperation()
2148 addr = CGF.Builder.CreateBitCast(addr, CGF.Int8PtrPtrTy); in emitARCLoadOperation()
2151 llvm::Value *result = CGF.EmitNounwindRuntimeCall(fn, addr.getPointer()); in emitARCLoadOperation()
2154 if (origType != CGF.Int8PtrTy) in emitARCLoadOperation()
2155 result = CGF.Builder.CreateBitCast(result, origType); in emitARCLoadOperation()
2162 static llvm::Value *emitARCStoreOperation(CodeGenFunction &CGF, Address addr, in emitARCStoreOperation() argument
2170 fn = CGF.CGM.getIntrinsic(IntID); in emitARCStoreOperation()
2171 setARCRuntimeFunctionLinkage(CGF.CGM, fn); in emitARCStoreOperation()
2177 CGF.Builder.CreateBitCast(addr.getPointer(), CGF.Int8PtrPtrTy), in emitARCStoreOperation()
2178 CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy) in emitARCStoreOperation()
2180 llvm::CallInst *result = CGF.EmitNounwindRuntimeCall(fn, args); in emitARCStoreOperation()
2184 return CGF.Builder.CreateBitCast(result, origType); in emitARCStoreOperation()
2189 static void emitARCCopyOperation(CodeGenFunction &CGF, Address dst, Address src, in emitARCCopyOperation() argument
2195 fn = CGF.CGM.getIntrinsic(IntID); in emitARCCopyOperation()
2196 setARCRuntimeFunctionLinkage(CGF.CGM, fn); in emitARCCopyOperation()
2200 CGF.Builder.CreateBitCast(dst.getPointer(), CGF.Int8PtrPtrTy), in emitARCCopyOperation()
2201 CGF.Builder.CreateBitCast(src.getPointer(), CGF.Int8PtrPtrTy) in emitARCCopyOperation()
2203 CGF.EmitNounwindRuntimeCall(fn, args); in emitARCCopyOperation()
2209 static llvm::Value *emitObjCValueOperation(CodeGenFunction &CGF, in emitObjCValueOperation() argument
2219 llvm::FunctionType::get(CGF.Int8PtrTy, CGF.Int8PtrTy, false); in emitObjCValueOperation()
2220 fn = CGF.CGM.CreateRuntimeFunction(fnType, fnName); in emitObjCValueOperation()
2230 value = CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy); in emitObjCValueOperation()
2233 llvm::CallBase *Inst = CGF.EmitCallOrInvoke(fn, value); in emitObjCValueOperation()
2242 return CGF.Builder.CreateBitCast(Inst, origType); in emitObjCValueOperation()
2293 static void emitAutoreleasedReturnValueMarker(CodeGenFunction &CGF) { in emitAutoreleasedReturnValueMarker() argument
2297 = CGF.CGM.getObjCEntrypoints().retainAutoreleasedReturnValueMarker; in emitAutoreleasedReturnValueMarker()
2300 = CGF.CGM.getTargetCodeGenInfo() in emitAutoreleasedReturnValueMarker()
2308 } else if (CGF.CGM.getCodeGenOpts().OptimizationLevel == 0) { in emitAutoreleasedReturnValueMarker()
2310 llvm::FunctionType::get(CGF.VoidTy, /*variadic*/false); in emitAutoreleasedReturnValueMarker()
2319 if (!CGF.CGM.getModule().getModuleFlag(retainRVMarkerKey)) { in emitAutoreleasedReturnValueMarker()
2320 auto *str = llvm::MDString::get(CGF.getLLVMContext(), assembly); in emitAutoreleasedReturnValueMarker()
2321 CGF.CGM.getModule().addModuleFlag(llvm::Module::Error, in emitAutoreleasedReturnValueMarker()
2329 CGF.Builder.CreateCall(marker, None, CGF.getBundlesForFunclet(marker)); in emitAutoreleasedReturnValueMarker()
2334 CodeGenFunction &CGF) { in emitOptimizedARCReturnCall() argument
2335 emitAutoreleasedReturnValueMarker(CGF); in emitOptimizedARCReturnCall()
2343 if (CGF.CGM.getCodeGenOpts().OptimizationLevel > 0 && in emitOptimizedARCReturnCall()
2344 CGF.CGM.getTarget().getTriple().isAArch64()) { in emitOptimizedARCReturnCall()
2346 CGF.Int64Ty, in emitOptimizedARCReturnCall()
2355 CGF.EmitARCNoopIntrinsicUse(newCall); in emitOptimizedARCReturnCall()
2360 CGF.CGM.getTargetCodeGenInfo().markARCOptimizedReturnCallsAsNoTail(); in emitOptimizedARCReturnCall()
2363 ObjCEntrypoints &EPs = CGF.CGM.getObjCEntrypoints(); in emitOptimizedARCReturnCall()
2370 return emitARCValueOperation(CGF, value, nullptr, EP, IID, tailKind); in emitOptimizedARCReturnCall()
2752 void CodeGenFunction::destroyARCStrongPrecise(CodeGenFunction &CGF, in destroyARCStrongPrecise() argument
2755 CGF.EmitARCDestroyStrong(addr, ARCPreciseLifetime); in destroyARCStrongPrecise()
2758 void CodeGenFunction::destroyARCStrongImprecise(CodeGenFunction &CGF, in destroyARCStrongImprecise() argument
2761 CGF.EmitARCDestroyStrong(addr, ARCImpreciseLifetime); in destroyARCStrongImprecise()
2764 void CodeGenFunction::destroyARCWeak(CodeGenFunction &CGF, in destroyARCWeak() argument
2767 CGF.EmitARCDestroyWeak(addr); in destroyARCWeak()
2770 void CodeGenFunction::emitARCIntrinsicUse(CodeGenFunction &CGF, Address addr, in emitARCIntrinsicUse() argument
2772 llvm::Value *value = CGF.Builder.CreateLoad(addr); in emitARCIntrinsicUse()
2773 CGF.EmitARCIntrinsicUse(value); in emitARCIntrinsicUse()
2831 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2832 CGF.EmitObjCAutoreleasePoolPop(Token); in Emit()
2840 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2841 CGF.EmitObjCMRRAutoreleasePoolPop(Token); in Emit()
2868 static TryEmitResult tryEmitARCRetainLoadOfScalar(CodeGenFunction &CGF, in tryEmitARCRetainLoadOfScalar() argument
2874 result = CGF.EmitLoadOfLValue(lvalue, SourceLocation()).getScalarVal(); in tryEmitARCRetainLoadOfScalar()
2877 result = CGF.EmitARCLoadWeakRetained(lvalue.getAddress(CGF)); in tryEmitARCRetainLoadOfScalar()
2882 static TryEmitResult tryEmitARCRetainLoadOfScalar(CodeGenFunction &CGF, in tryEmitARCRetainLoadOfScalar() argument
2894 LValue lv = CGF.EmitLValue(e); in tryEmitARCRetainLoadOfScalar()
2897 llvm::Value *result = CGF.EmitLoadOfLValue(lv, in tryEmitARCRetainLoadOfScalar()
2901 CGF.EmitStoreOfScalar(getNullForVariable(lv.getAddress(CGF)), lv); in tryEmitARCRetainLoadOfScalar()
2909 if (CGF.getLangOpts().CPlusPlus && in tryEmitARCRetainLoadOfScalar()
2914 return TryEmitResult(CGF.EmitScalarExpr(e), false); in tryEmitARCRetainLoadOfScalar()
2921 if (CodeGenFunction::ConstantEmission constant = CGF.tryEmitAsConstant(DRE)) in tryEmitARCRetainLoadOfScalar()
2922 return TryEmitResult(CGF.emitScalarConstant(constant, DRE), in tryEmitARCRetainLoadOfScalar()
2926 return tryEmitARCRetainLoadOfScalar(CGF, CGF.EmitLValue(e), type); in tryEmitARCRetainLoadOfScalar()
2929 typedef llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
2937 static llvm::Value *emitARCOperationAfterCall(CodeGenFunction &CGF, in emitARCOperationAfterCall() argument
2941 CGBuilderTy::InsertPoint ip = CGF.Builder.saveIP(); in emitARCOperationAfterCall()
2945 CGF.Builder.SetInsertPoint(call->getParent(), in emitARCOperationAfterCall()
2947 value = doAfterCall(CGF, value); in emitARCOperationAfterCall()
2951 CGF.Builder.SetInsertPoint(BB, BB->begin()); in emitARCOperationAfterCall()
2952 value = doAfterCall(CGF, value); in emitARCOperationAfterCall()
2959 CGF.Builder.SetInsertPoint(bitcast->getParent(), bitcast->getIterator()); in emitARCOperationAfterCall()
2961 operand = emitARCOperationAfterCall(CGF, operand, doAfterCall, doFallback); in emitARCOperationAfterCall()
2972 inVal = emitARCOperationAfterCall(CGF, inVal, doAfterCall, doFallback); in emitARCOperationAfterCall()
2979 value = doFallback(CGF, value); in emitARCOperationAfterCall()
2983 CGF.Builder.restoreIP(ip); in emitARCOperationAfterCall()
2989 static llvm::Value *emitARCRetainCallResult(CodeGenFunction &CGF, in emitARCRetainCallResult() argument
2991 llvm::Value *value = CGF.EmitScalarExpr(e); in emitARCRetainCallResult()
2992 return emitARCOperationAfterCall(CGF, value, in emitARCRetainCallResult()
2993 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCRetainCallResult() argument
2994 return CGF.EmitARCRetainAutoreleasedReturnValue(value); in emitARCRetainCallResult()
2996 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCRetainCallResult() argument
2997 return CGF.EmitARCRetainNonBlock(value); in emitARCRetainCallResult()
3003 static llvm::Value *emitARCUnsafeClaimCallResult(CodeGenFunction &CGF, in emitARCUnsafeClaimCallResult() argument
3005 llvm::Value *value = CGF.EmitScalarExpr(e); in emitARCUnsafeClaimCallResult()
3006 return emitARCOperationAfterCall(CGF, value, in emitARCUnsafeClaimCallResult()
3007 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCUnsafeClaimCallResult() argument
3008 return CGF.EmitARCUnsafeClaimAutoreleasedReturnValue(value); in emitARCUnsafeClaimCallResult()
3010 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCUnsafeClaimCallResult() argument
3067 CodeGenFunction &CGF; member in __anonc3781cb10a11::ARCExprEmitter
3070 ARCExprEmitter(CodeGenFunction &CGF) : CGF(CGF) {} in ARCExprEmitter() argument
3125 opaqueData = OVMA::bind(CGF, ov, in visitPseudoObjectExpr()
3130 opaqueData = OVMA::bind(CGF, ov, ov->getSourceExpr()); in visitPseudoObjectExpr()
3141 CGF.EmitIgnoredExpr(semantic); in visitPseudoObjectExpr()
3147 opaques[i].unbind(CGF); in visitPseudoObjectExpr()
3171 llvm::Type *resultType = CGF.ConvertType(e->getType()); in visitCastExpr()
3198 CGF.EmitIgnoredExpr(e->getLHS()); in visitBinaryOperator()
3199 CGF.EnsureInsertPoint(); in visitBinaryOperator()
3242 CGF.EmitCheckedLValue(e->getLHS(), CodeGenFunction::TCK_Store); in visitBinAssignUnsafeUnretained()
3243 CGF.EmitStoreThroughLValue(RValue::get(asImpl().getValueOfResult(result)), in visitBinAssignUnsafeUnretained()
3313 ARCRetainExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {} in ARCRetainExprEmitter()
3321 value = CGF.Builder.CreateBitCast(value, resultType); in emitBitCast()
3327 return tryEmitARCRetainLoadOfScalar(CGF, e); in visitLValueToRValue()
3333 llvm::Value *result = CGF.EmitScalarExpr(e); in visitConsumeObject()
3355 result = CGF.EmitScalarExpr(e); in visitExtendBlockObject()
3371 result = CGF.EmitARCRetainBlock(result, /*mandatory*/ true); in visitExtendBlockObject()
3378 llvm::Value *result = emitARCRetainCallResult(CGF, e); in visitReclaimReturnedObject()
3384 llvm::Value *result = emitARCRetainCallResult(CGF, e); in visitCall()
3393 llvm::Value *result = CGF.EmitScalarExpr(e); in visitExpr()
3400 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e) { in tryEmitARCRetainScalarExpr() argument
3401 return ARCRetainExprEmitter(CGF).visit(e); in tryEmitARCRetainScalarExpr()
3404 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF, in emitARCRetainLoadOfScalar() argument
3407 TryEmitResult result = tryEmitARCRetainLoadOfScalar(CGF, lvalue, type); in emitARCRetainLoadOfScalar()
3410 value = CGF.EmitARCRetain(type, value); in emitARCRetainLoadOfScalar()
3489 ARCUnsafeUnretainedExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {} in ARCUnsafeUnretainedExprEmitter()
3496 return CGF.Builder.CreateBitCast(value, resultType); in emitBitCast()
3500 return CGF.EmitScalarExpr(e); in visitLValueToRValue()
3506 llvm::Value *value = CGF.EmitScalarExpr(e); in visitConsumeObject()
3507 return CGF.EmitObjCConsumeObject(e->getType(), value); in visitConsumeObject()
3513 return CGF.EmitARCExtendBlockObject(e); in visitExtendBlockObject()
3518 return CGF.EmitARCReclaimReturnedObject(e, /*unsafe*/ true); in visitReclaimReturnedObject()
3524 return CGF.EmitScalarExpr(e); in visitCall()
3529 return CGF.EmitScalarExpr(e); in visitExpr()
3534 static llvm::Value *emitARCUnsafeUnretainedScalarExpr(CodeGenFunction &CGF, in emitARCUnsafeUnretainedScalarExpr() argument
3536 return ARCUnsafeUnretainedExprEmitter(CGF).visit(e); in emitARCUnsafeUnretainedScalarExpr()
3889 static llvm::Value *emitIsPlatformVersionAtLeast(CodeGenFunction &CGF, in emitIsPlatformVersionAtLeast() argument
3891 CodeGenModule &CGM = CGF.CGM; in emitIsPlatformVersionAtLeast()
3918 CGF.EmitNounwindRuntimeCall(CGM.IsPlatformVersionAtLeastFn, Args); in emitIsPlatformVersionAtLeast()
3919 return CGF.Builder.CreateICmpNE(Check, in emitIsPlatformVersionAtLeast()
4005 CodeGenFunction CGF(*this); in emitAtAvailableLinkGuard() local
4006 CGF.Builder.SetInsertPoint(CGF.createBasicBlock("", CFLinkCheckFunc)); in emitAtAvailableLinkGuard()
4007 CGF.EmitNounwindRuntimeCall(CFFunc, in emitAtAvailableLinkGuard()
4009 CGF.Builder.CreateUnreachable(); in emitAtAvailableLinkGuard()