Lines Matching refs:CGF

38 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e);
39 static RValue AdjustObjCObjectType(CodeGenFunction &CGF,
273 static RValue AdjustObjCObjectType(CodeGenFunction &CGF, QualType ExpT, in AdjustObjCObjectType() argument
279 llvm::Type *ExpLLVMTy = CGF.ConvertType(ExpT); in AdjustObjCObjectType()
284 return RValue::get(CGF.Builder.CreateBitCast(Result.getScalarVal(), in AdjustObjCObjectType()
378 CodeGenFunction &CGF, QualType ResultType, llvm::Value *Receiver, in tryGenerateSpecializedMessageSend() argument
381 auto &CGM = CGF.CGM; in tryGenerateSpecializedMessageSend()
394 return CGF.EmitObjCAlloc(Receiver, CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
402 return CGF.EmitObjCAllocWithZone(Receiver, in tryGenerateSpecializedMessageSend()
403 CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
413 return CGF.EmitObjCAutorelease(Receiver, CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
420 return CGF.EmitObjCRetainNonBlock(Receiver, CGF.ConvertType(ResultType)); in tryGenerateSpecializedMessageSend()
427 CGF.EmitObjCRelease(Receiver, ARCPreciseLifetime); in tryGenerateSpecializedMessageSend()
439 CodeGenFunction &CGF, ReturnValueSlot Return, QualType ResultType, in GeneratePossiblySpecializedMessageSend() argument
444 tryGenerateSpecializedMessageSend(CGF, ResultType, Receiver, Args, in GeneratePossiblySpecializedMessageSend()
448 return GenerateMessageSend(CGF, Return, ResultType, Sel, Receiver, Args, OID, in GeneratePossiblySpecializedMessageSend()
525 tryEmitSpecializedAllocInit(CodeGenFunction &CGF, const ObjCMessageExpr *OME) { in tryEmitSpecializedAllocInit() argument
526 auto &Runtime = CGF.getLangOpts().ObjCRuntime; in tryEmitSpecializedAllocInit()
554 Receiver = CGF.EmitScalarExpr(SubOME->getInstanceReceiver()); in tryEmitSpecializedAllocInit()
562 Receiver = CGF.CGM.getObjCRuntime().GetClass(CGF, ID); in tryEmitSpecializedAllocInit()
570 return CGF.EmitObjCAllocInit(Receiver, CGF.ConvertType(OME->getType())); in tryEmitSpecializedAllocInit()
723 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
724 const ObjCMethodDecl *method = cast<ObjCMethodDecl>(CGF.CurCodeDecl); in Emit()
733 llvm::Value *self = CGF.LoadObjCSelf(); in Emit()
736 CGF.CGM.getObjCRuntime().GenerateMessageSendSuper(CGF, ReturnValueSlot(), in Emit()
737 CGF.getContext().VoidTy, in Emit()
802 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF,
818 static void emitStructGetterCall(CodeGenFunction &CGF, ObjCIvarDecl *ivar, in emitStructGetterCall() argument
820 ASTContext &Context = CGF.getContext(); in emitStructGetterCall()
823 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitStructGetterCall()
824 .getPointer(CGF); in emitStructGetterCall()
830 llvm::Value *dest = CGF.ReturnValue.emitRawPointer(CGF); in emitStructGetterCall()
834 CharUnits size = CGF.getContext().getTypeSizeInChars(ivar->getType()); in emitStructGetterCall()
835 args.add(RValue::get(CGF.CGM.getSize(size)), Context.getSizeType()); in emitStructGetterCall()
836 args.add(RValue::get(CGF.Builder.getInt1(isAtomic)), Context.BoolTy); in emitStructGetterCall()
837 args.add(RValue::get(CGF.Builder.getInt1(hasStrong)), Context.BoolTy); in emitStructGetterCall()
839 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetGetStructFunction(); in emitStructGetterCall()
841 CGF.EmitCall(CGF.getTypes().arrangeBuiltinFunctionCall(Context.VoidTy, args), in emitStructGetterCall()
1087 static void emitCPPObjectAtomicGetterCall(CodeGenFunction &CGF, in emitCPPObjectAtomicGetterCall() argument
1096 args.add(RValue::get(returnAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1100 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitCPPObjectAtomicGetterCall()
1101 .getPointer(CGF); in emitCPPObjectAtomicGetterCall()
1102 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1105 args.add(RValue::get(AtomicHelperFn), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1108 CGF.CGM.getObjCRuntime().GetCppAtomicObjectGetFunction(); in emitCPPObjectAtomicGetterCall()
1110 CGF.EmitCall( in emitCPPObjectAtomicGetterCall()
1111 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitCPPObjectAtomicGetterCall()
1121 static llvm::Value *emitCmdValueForGetterSetterBody(CodeGenFunction &CGF, in emitCmdValueForGetterSetterBody() argument
1127 llvm::Type *selType = CGF.ConvertType(CGF.getContext().getObjCSelType()); in emitCmdValueForGetterSetterBody()
1131 return CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(MD->getCmdDecl()), "cmd"); in emitCmdValueForGetterSetterBody()
1324 static void emitStructSetterCall(CodeGenFunction &CGF, ObjCMethodDecl *OMD, in emitStructSetterCall() argument
1332 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitStructSetterCall()
1333 .getPointer(CGF); in emitStructSetterCall()
1334 ivarAddr = CGF.Builder.CreateBitCast(ivarAddr, CGF.Int8PtrTy); in emitStructSetterCall()
1335 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitStructSetterCall()
1339 DeclRefExpr argRef(CGF.getContext(), argVar, false, in emitStructSetterCall()
1342 llvm::Value *argAddr = CGF.EmitLValue(&argRef).getPointer(CGF); in emitStructSetterCall()
1343 args.add(RValue::get(argAddr), CGF.getContext().VoidPtrTy); in emitStructSetterCall()
1347 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType())); in emitStructSetterCall()
1348 args.add(RValue::get(size), CGF.getContext().getSizeType()); in emitStructSetterCall()
1351 args.add(RValue::get(CGF.Builder.getTrue()), CGF.getContext().BoolTy); in emitStructSetterCall()
1355 args.add(RValue::get(CGF.Builder.getFalse()), CGF.getContext().BoolTy); in emitStructSetterCall()
1357 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetSetStructFunction(); in emitStructSetterCall()
1359 CGF.EmitCall( in emitStructSetterCall()
1360 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitStructSetterCall()
1367 static void emitCPPObjectAtomicSetterCall(CodeGenFunction &CGF, in emitCPPObjectAtomicSetterCall() argument
1377 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitCPPObjectAtomicSetterCall()
1378 .getPointer(CGF); in emitCPPObjectAtomicSetterCall()
1379 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1383 DeclRefExpr argRef(CGF.getContext(), argVar, false, in emitCPPObjectAtomicSetterCall()
1386 llvm::Value *argAddr = CGF.EmitLValue(&argRef).getPointer(CGF); in emitCPPObjectAtomicSetterCall()
1387 args.add(RValue::get(argAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1390 args.add(RValue::get(AtomicHelperFn), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1393 CGF.CGM.getObjCRuntime().GetCppAtomicObjectSetFunction(); in emitCPPObjectAtomicSetterCall()
1395 CGF.EmitCall( in emitCPPObjectAtomicSetterCall()
1396 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitCPPObjectAtomicSetterCall()
1655 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
1657 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0); in Emit()
1658 CGF.emitDestroy(lvalue.getAddress(), ivar->getType(), destroyer, in Emit()
1665 static void destroyARCStrongWithStore(CodeGenFunction &CGF, in destroyARCStrongWithStore() argument
1669 CGF.EmitARCStoreStrongCall(addr, null, /*ignored*/ true); in destroyARCStrongWithStore()
1672 static void emitCXXDestructMethod(CodeGenFunction &CGF, in emitCXXDestructMethod() argument
1674 CodeGenFunction::RunCleanupsScope scope(CGF); in emitCXXDestructMethod()
1676 llvm::Value *self = CGF.LoadObjCSelf(); in emitCXXDestructMethod()
1696 destroyer = CGF.getDestroyer(dtorKind); in emitCXXDestructMethod()
1699 CleanupKind cleanupKind = CGF.getCleanupKind(dtorKind); in emitCXXDestructMethod()
1701 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer, in emitCXXDestructMethod()
2098 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2100 CGF.EmitARCRelease(object, ARCImpreciseLifetime); in Emit()
2169 CodeGenFunction &CGF, llvm::Value *value, llvm::Type *returnType, in emitARCValueOperation() argument
2176 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCValueOperation()
2180 value = CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy); in emitARCValueOperation()
2183 llvm::CallInst *call = CGF.EmitNounwindRuntimeCall(fn, value); in emitARCValueOperation()
2187 return CGF.Builder.CreateBitCast(call, origType); in emitARCValueOperation()
2192 static llvm::Value *emitARCLoadOperation(CodeGenFunction &CGF, Address addr, in emitARCLoadOperation() argument
2196 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCLoadOperation()
2198 return CGF.EmitNounwindRuntimeCall(fn, addr.emitRawPointer(CGF)); in emitARCLoadOperation()
2203 static llvm::Value *emitARCStoreOperation(CodeGenFunction &CGF, Address addr, in emitARCStoreOperation() argument
2211 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCStoreOperation()
2216 CGF.Builder.CreateBitCast(addr.emitRawPointer(CGF), CGF.Int8PtrPtrTy), in emitARCStoreOperation()
2217 CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy)}; in emitARCStoreOperation()
2218 llvm::CallInst *result = CGF.EmitNounwindRuntimeCall(fn, args); in emitARCStoreOperation()
2222 return CGF.Builder.CreateBitCast(result, origType); in emitARCStoreOperation()
2227 static void emitARCCopyOperation(CodeGenFunction &CGF, Address dst, Address src, in emitARCCopyOperation() argument
2233 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCCopyOperation()
2236 CGF.Builder.CreateBitCast(dst.emitRawPointer(CGF), CGF.Int8PtrPtrTy), in emitARCCopyOperation()
2237 CGF.Builder.CreateBitCast(src.emitRawPointer(CGF), CGF.Int8PtrPtrTy)}; in emitARCCopyOperation()
2238 CGF.EmitNounwindRuntimeCall(fn, args); in emitARCCopyOperation()
2244 static llvm::Value *emitObjCValueOperation(CodeGenFunction &CGF, in emitObjCValueOperation() argument
2254 llvm::FunctionType::get(CGF.Int8PtrTy, CGF.Int8PtrTy, false); in emitObjCValueOperation()
2255 fn = CGF.CGM.CreateRuntimeFunction(fnType, fnName); in emitObjCValueOperation()
2265 value = CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy); in emitObjCValueOperation()
2268 llvm::CallBase *Inst = CGF.EmitCallOrInvoke(fn, value); in emitObjCValueOperation()
2277 return CGF.Builder.CreateBitCast(Inst, origType); in emitObjCValueOperation()
2328 static void emitAutoreleasedReturnValueMarker(CodeGenFunction &CGF) { in emitAutoreleasedReturnValueMarker() argument
2332 = CGF.CGM.getObjCEntrypoints().retainAutoreleasedReturnValueMarker; in emitAutoreleasedReturnValueMarker()
2335 = CGF.CGM.getTargetCodeGenInfo() in emitAutoreleasedReturnValueMarker()
2343 } else if (CGF.CGM.getCodeGenOpts().OptimizationLevel == 0) { in emitAutoreleasedReturnValueMarker()
2345 llvm::FunctionType::get(CGF.VoidTy, /*variadic*/false); in emitAutoreleasedReturnValueMarker()
2354 if (!CGF.CGM.getModule().getModuleFlag(retainRVMarkerKey)) { in emitAutoreleasedReturnValueMarker()
2355 auto *str = llvm::MDString::get(CGF.getLLVMContext(), assembly); in emitAutoreleasedReturnValueMarker()
2356 CGF.CGM.getModule().addModuleFlag(llvm::Module::Error, in emitAutoreleasedReturnValueMarker()
2364 CGF.Builder.CreateCall(marker, std::nullopt, in emitAutoreleasedReturnValueMarker()
2365 CGF.getBundlesForFunclet(marker)); in emitAutoreleasedReturnValueMarker()
2370 CodeGenFunction &CGF) { in emitOptimizedARCReturnCall() argument
2371 emitAutoreleasedReturnValueMarker(CGF); in emitOptimizedARCReturnCall()
2377 ObjCEntrypoints &EPs = CGF.CGM.getObjCEntrypoints(); in emitOptimizedARCReturnCall()
2384 EP = getARCIntrinsic(IID, CGF.CGM); in emitOptimizedARCReturnCall()
2386 llvm::Triple::ArchType Arch = CGF.CGM.getTriple().getArch(); in emitOptimizedARCReturnCall()
2390 if (CGF.CGM.getCodeGenOpts().OptimizationLevel > 0 && in emitOptimizedARCReturnCall()
2400 CGF.EmitARCNoopIntrinsicUse(newCall); in emitOptimizedARCReturnCall()
2405 CGF.CGM.getTargetCodeGenInfo().markARCOptimizedReturnCallsAsNoTail(); in emitOptimizedARCReturnCall()
2408 return emitARCValueOperation(CGF, value, nullptr, EP, IID, tailKind); in emitOptimizedARCReturnCall()
2776 void CodeGenFunction::destroyARCStrongPrecise(CodeGenFunction &CGF, in destroyARCStrongPrecise() argument
2779 CGF.EmitARCDestroyStrong(addr, ARCPreciseLifetime); in destroyARCStrongPrecise()
2782 void CodeGenFunction::destroyARCStrongImprecise(CodeGenFunction &CGF, in destroyARCStrongImprecise() argument
2785 CGF.EmitARCDestroyStrong(addr, ARCImpreciseLifetime); in destroyARCStrongImprecise()
2788 void CodeGenFunction::destroyARCWeak(CodeGenFunction &CGF, in destroyARCWeak() argument
2791 CGF.EmitARCDestroyWeak(addr); in destroyARCWeak()
2794 void CodeGenFunction::emitARCIntrinsicUse(CodeGenFunction &CGF, Address addr, in emitARCIntrinsicUse() argument
2796 llvm::Value *value = CGF.Builder.CreateLoad(addr); in emitARCIntrinsicUse()
2797 CGF.EmitARCIntrinsicUse(value); in emitARCIntrinsicUse()
2855 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2856 CGF.EmitObjCAutoreleasePoolPop(Token); in Emit()
2864 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2865 CGF.EmitObjCMRRAutoreleasePoolPop(Token); in Emit()
2892 static TryEmitResult tryEmitARCRetainLoadOfScalar(CodeGenFunction &CGF, in tryEmitARCRetainLoadOfScalar() argument
2898 result = CGF.EmitLoadOfLValue(lvalue, SourceLocation()).getScalarVal(); in tryEmitARCRetainLoadOfScalar()
2901 result = CGF.EmitARCLoadWeakRetained(lvalue.getAddress()); in tryEmitARCRetainLoadOfScalar()
2906 static TryEmitResult tryEmitARCRetainLoadOfScalar(CodeGenFunction &CGF, in tryEmitARCRetainLoadOfScalar() argument
2918 LValue lv = CGF.EmitLValue(e); in tryEmitARCRetainLoadOfScalar()
2921 llvm::Value *result = CGF.EmitLoadOfLValue(lv, in tryEmitARCRetainLoadOfScalar()
2925 CGF.EmitStoreOfScalar(getNullForVariable(lv.getAddress()), lv); in tryEmitARCRetainLoadOfScalar()
2933 if (CGF.getLangOpts().CPlusPlus && in tryEmitARCRetainLoadOfScalar()
2938 return TryEmitResult(CGF.EmitScalarExpr(e), false); in tryEmitARCRetainLoadOfScalar()
2945 if (CodeGenFunction::ConstantEmission constant = CGF.tryEmitAsConstant(DRE)) in tryEmitARCRetainLoadOfScalar()
2946 return TryEmitResult(CGF.emitScalarConstant(constant, DRE), in tryEmitARCRetainLoadOfScalar()
2950 return tryEmitARCRetainLoadOfScalar(CGF, CGF.EmitLValue(e), type); in tryEmitARCRetainLoadOfScalar()
2953 typedef llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
2961 static llvm::Value *emitARCOperationAfterCall(CodeGenFunction &CGF, in emitARCOperationAfterCall() argument
2965 CGBuilderTy::InsertPoint ip = CGF.Builder.saveIP(); in emitARCOperationAfterCall()
2970 value = doFallback(CGF, value); in emitARCOperationAfterCall()
2973 CGF.Builder.SetInsertPoint(call->getParent(), in emitARCOperationAfterCall()
2975 value = doAfterCall(CGF, value); in emitARCOperationAfterCall()
2979 CGF.Builder.SetInsertPoint(BB, BB->begin()); in emitARCOperationAfterCall()
2980 value = doAfterCall(CGF, value); in emitARCOperationAfterCall()
2987 CGF.Builder.SetInsertPoint(bitcast->getParent(), bitcast->getIterator()); in emitARCOperationAfterCall()
2989 operand = emitARCOperationAfterCall(CGF, operand, doAfterCall, doFallback); in emitARCOperationAfterCall()
3000 inVal = emitARCOperationAfterCall(CGF, inVal, doAfterCall, doFallback); in emitARCOperationAfterCall()
3007 value = doFallback(CGF, value); in emitARCOperationAfterCall()
3011 CGF.Builder.restoreIP(ip); in emitARCOperationAfterCall()
3017 static llvm::Value *emitARCRetainCallResult(CodeGenFunction &CGF, in emitARCRetainCallResult() argument
3019 llvm::Value *value = CGF.EmitScalarExpr(e); in emitARCRetainCallResult()
3020 return emitARCOperationAfterCall(CGF, value, in emitARCRetainCallResult()
3021 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCRetainCallResult() argument
3022 return CGF.EmitARCRetainAutoreleasedReturnValue(value); in emitARCRetainCallResult()
3024 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCRetainCallResult() argument
3025 return CGF.EmitARCRetainNonBlock(value); in emitARCRetainCallResult()
3031 static llvm::Value *emitARCUnsafeClaimCallResult(CodeGenFunction &CGF, in emitARCUnsafeClaimCallResult() argument
3033 llvm::Value *value = CGF.EmitScalarExpr(e); in emitARCUnsafeClaimCallResult()
3034 return emitARCOperationAfterCall(CGF, value, in emitARCUnsafeClaimCallResult()
3035 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCUnsafeClaimCallResult() argument
3036 return CGF.EmitARCUnsafeClaimAutoreleasedReturnValue(value); in emitARCUnsafeClaimCallResult()
3038 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCUnsafeClaimCallResult() argument
3095 CodeGenFunction &CGF; member in __anon4d4041c60a11::ARCExprEmitter
3098 ARCExprEmitter(CodeGenFunction &CGF) : CGF(CGF) {} in ARCExprEmitter() argument
3153 opaqueData = OVMA::bind(CGF, ov, in visitPseudoObjectExpr()
3158 opaqueData = OVMA::bind(CGF, ov, ov->getSourceExpr()); in visitPseudoObjectExpr()
3169 CGF.EmitIgnoredExpr(semantic); in visitPseudoObjectExpr()
3175 opaques[i].unbind(CGF); in visitPseudoObjectExpr()
3199 llvm::Type *resultType = CGF.ConvertType(e->getType()); in visitCastExpr()
3226 CGF.EmitIgnoredExpr(e->getLHS()); in visitBinaryOperator()
3227 CGF.EnsureInsertPoint(); in visitBinaryOperator()
3270 CGF.EmitCheckedLValue(e->getLHS(), CodeGenFunction::TCK_Store); in visitBinAssignUnsafeUnretained()
3271 CGF.EmitStoreThroughLValue(RValue::get(asImpl().getValueOfResult(result)), in visitBinAssignUnsafeUnretained()
3341 ARCRetainExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {} in ARCRetainExprEmitter()
3349 value = CGF.Builder.CreateBitCast(value, resultType); in emitBitCast()
3355 return tryEmitARCRetainLoadOfScalar(CGF, e); in visitLValueToRValue()
3361 llvm::Value *result = CGF.EmitScalarExpr(e); in visitConsumeObject()
3369 if (CGF.CGM.getCodeGenOpts().ObjCAvoidHeapifyLocalBlocks && in visitBlockExpr()
3384 result = CGF.EmitScalarExpr(e); in visitExtendBlockObject()
3400 result = CGF.EmitARCRetainBlock(result, /*mandatory*/ true); in visitExtendBlockObject()
3407 llvm::Value *result = emitARCRetainCallResult(CGF, e); in visitReclaimReturnedObject()
3413 llvm::Value *result = emitARCRetainCallResult(CGF, e); in visitCall()
3422 llvm::Value *result = CGF.EmitScalarExpr(e); in visitExpr()
3429 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e) { in tryEmitARCRetainScalarExpr() argument
3430 return ARCRetainExprEmitter(CGF).visit(e); in tryEmitARCRetainScalarExpr()
3433 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF, in emitARCRetainLoadOfScalar() argument
3436 TryEmitResult result = tryEmitARCRetainLoadOfScalar(CGF, lvalue, type); in emitARCRetainLoadOfScalar()
3439 value = CGF.EmitARCRetain(type, value); in emitARCRetainLoadOfScalar()
3518 ARCUnsafeUnretainedExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {} in ARCUnsafeUnretainedExprEmitter()
3525 return CGF.Builder.CreateBitCast(value, resultType); in emitBitCast()
3529 return CGF.EmitScalarExpr(e); in visitLValueToRValue()
3535 llvm::Value *value = CGF.EmitScalarExpr(e); in visitConsumeObject()
3536 return CGF.EmitObjCConsumeObject(e->getType(), value); in visitConsumeObject()
3542 return CGF.EmitARCExtendBlockObject(e); in visitExtendBlockObject()
3547 return CGF.EmitARCReclaimReturnedObject(e, /*unsafe*/ true); in visitReclaimReturnedObject()
3553 return CGF.EmitScalarExpr(e); in visitCall()
3558 return CGF.EmitScalarExpr(e); in visitExpr()
3563 static llvm::Value *emitARCUnsafeUnretainedScalarExpr(CodeGenFunction &CGF, in emitARCUnsafeUnretainedScalarExpr() argument
3565 return ARCUnsafeUnretainedExprEmitter(CGF).visit(e); in emitARCUnsafeUnretainedScalarExpr()
3951 static llvm::Value *emitIsPlatformVersionAtLeast(CodeGenFunction &CGF, in emitIsPlatformVersionAtLeast() argument
3953 CodeGenModule &CGM = CGF.CGM; in emitIsPlatformVersionAtLeast()
3981 CGF.EmitNounwindRuntimeCall(CGM.IsPlatformVersionAtLeastFn, Args); in emitIsPlatformVersionAtLeast()
3982 return CGF.Builder.CreateICmpNE(Check, in emitIsPlatformVersionAtLeast()
4074 CodeGenFunction CGF(*this); in emitAtAvailableLinkGuard() local
4075 CGF.Builder.SetInsertPoint(CGF.createBasicBlock("", CFLinkCheckFunc)); in emitAtAvailableLinkGuard()
4076 CGF.EmitNounwindRuntimeCall(CFFunc, in emitAtAvailableLinkGuard()
4078 CGF.Builder.CreateUnreachable(); in emitAtAvailableLinkGuard()