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.getPointer(); 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()
1083 static void emitCPPObjectAtomicGetterCall(CodeGenFunction &CGF, in emitCPPObjectAtomicGetterCall() argument
1092 args.add(RValue::get(returnAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1096 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitCPPObjectAtomicGetterCall()
1097 .getPointer(CGF); in emitCPPObjectAtomicGetterCall()
1098 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1101 args.add(RValue::get(AtomicHelperFn), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicGetterCall()
1104 CGF.CGM.getObjCRuntime().GetCppAtomicObjectGetFunction(); in emitCPPObjectAtomicGetterCall()
1106 CGF.EmitCall( in emitCPPObjectAtomicGetterCall()
1107 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitCPPObjectAtomicGetterCall()
1117 static llvm::Value *emitCmdValueForGetterSetterBody(CodeGenFunction &CGF, in emitCmdValueForGetterSetterBody() argument
1123 llvm::Type *selType = CGF.ConvertType(CGF.getContext().getObjCSelType()); in emitCmdValueForGetterSetterBody()
1127 return CGF.Builder.CreateLoad(CGF.GetAddrOfLocalVar(MD->getCmdDecl()), "cmd"); in emitCmdValueForGetterSetterBody()
1320 static void emitStructSetterCall(CodeGenFunction &CGF, ObjCMethodDecl *OMD, in emitStructSetterCall() argument
1328 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitStructSetterCall()
1329 .getPointer(CGF); in emitStructSetterCall()
1330 ivarAddr = CGF.Builder.CreateBitCast(ivarAddr, CGF.Int8PtrTy); in emitStructSetterCall()
1331 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitStructSetterCall()
1335 DeclRefExpr argRef(CGF.getContext(), argVar, false, in emitStructSetterCall()
1338 llvm::Value *argAddr = CGF.EmitLValue(&argRef).getPointer(CGF); in emitStructSetterCall()
1339 args.add(RValue::get(argAddr), CGF.getContext().VoidPtrTy); in emitStructSetterCall()
1343 CGF.CGM.getSize(CGF.getContext().getTypeSizeInChars(ivar->getType())); in emitStructSetterCall()
1344 args.add(RValue::get(size), CGF.getContext().getSizeType()); in emitStructSetterCall()
1347 args.add(RValue::get(CGF.Builder.getTrue()), CGF.getContext().BoolTy); in emitStructSetterCall()
1351 args.add(RValue::get(CGF.Builder.getFalse()), CGF.getContext().BoolTy); in emitStructSetterCall()
1353 llvm::FunctionCallee fn = CGF.CGM.getObjCRuntime().GetSetStructFunction(); in emitStructSetterCall()
1355 CGF.EmitCall( in emitStructSetterCall()
1356 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitStructSetterCall()
1363 static void emitCPPObjectAtomicSetterCall(CodeGenFunction &CGF, in emitCPPObjectAtomicSetterCall() argument
1373 CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), CGF.LoadObjCSelf(), ivar, 0) in emitCPPObjectAtomicSetterCall()
1374 .getPointer(CGF); in emitCPPObjectAtomicSetterCall()
1375 args.add(RValue::get(ivarAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1379 DeclRefExpr argRef(CGF.getContext(), argVar, false, in emitCPPObjectAtomicSetterCall()
1382 llvm::Value *argAddr = CGF.EmitLValue(&argRef).getPointer(CGF); in emitCPPObjectAtomicSetterCall()
1383 args.add(RValue::get(argAddr), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1386 args.add(RValue::get(AtomicHelperFn), CGF.getContext().VoidPtrTy); in emitCPPObjectAtomicSetterCall()
1389 CGF.CGM.getObjCRuntime().GetCppAtomicObjectSetFunction(); in emitCPPObjectAtomicSetterCall()
1391 CGF.EmitCall( in emitCPPObjectAtomicSetterCall()
1392 CGF.getTypes().arrangeBuiltinFunctionCall(CGF.getContext().VoidTy, args), in emitCPPObjectAtomicSetterCall()
1651 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
1653 = CGF.EmitLValueForIvar(CGF.TypeOfSelfObject(), addr, ivar, /*CVR*/ 0); in Emit()
1654 CGF.emitDestroy(lvalue.getAddress(CGF), ivar->getType(), destroyer, in Emit()
1661 static void destroyARCStrongWithStore(CodeGenFunction &CGF, in destroyARCStrongWithStore() argument
1665 CGF.EmitARCStoreStrongCall(addr, null, /*ignored*/ true); in destroyARCStrongWithStore()
1668 static void emitCXXDestructMethod(CodeGenFunction &CGF, in emitCXXDestructMethod() argument
1670 CodeGenFunction::RunCleanupsScope scope(CGF); in emitCXXDestructMethod()
1672 llvm::Value *self = CGF.LoadObjCSelf(); in emitCXXDestructMethod()
1692 destroyer = CGF.getDestroyer(dtorKind); in emitCXXDestructMethod()
1695 CleanupKind cleanupKind = CGF.getCleanupKind(dtorKind); in emitCXXDestructMethod()
1697 CGF.EHStack.pushCleanup<DestroyIvar>(cleanupKind, self, ivar, destroyer, in emitCXXDestructMethod()
2097 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2099 CGF.EmitARCRelease(object, ARCImpreciseLifetime); in Emit()
2168 CodeGenFunction &CGF, llvm::Value *value, llvm::Type *returnType, in emitARCValueOperation() argument
2175 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCValueOperation()
2179 value = CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy); in emitARCValueOperation()
2182 llvm::CallInst *call = CGF.EmitNounwindRuntimeCall(fn, value); in emitARCValueOperation()
2186 return CGF.Builder.CreateBitCast(call, origType); in emitARCValueOperation()
2191 static llvm::Value *emitARCLoadOperation(CodeGenFunction &CGF, Address addr, in emitARCLoadOperation() argument
2195 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCLoadOperation()
2197 return CGF.EmitNounwindRuntimeCall(fn, addr.getPointer()); in emitARCLoadOperation()
2202 static llvm::Value *emitARCStoreOperation(CodeGenFunction &CGF, Address addr, in emitARCStoreOperation() argument
2210 fn = getARCIntrinsic(IntID, CGF.CGM); in emitARCStoreOperation()
2215 CGF.Builder.CreateBitCast(addr.getPointer(), CGF.Int8PtrPtrTy), in emitARCStoreOperation()
2216 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.getPointer(), CGF.Int8PtrPtrTy), in emitARCCopyOperation()
2237 CGF.Builder.CreateBitCast(src.getPointer(), CGF.Int8PtrPtrTy) in emitARCCopyOperation()
2239 CGF.EmitNounwindRuntimeCall(fn, args); in emitARCCopyOperation()
2245 static llvm::Value *emitObjCValueOperation(CodeGenFunction &CGF, in emitObjCValueOperation() argument
2255 llvm::FunctionType::get(CGF.Int8PtrTy, CGF.Int8PtrTy, false); in emitObjCValueOperation()
2256 fn = CGF.CGM.CreateRuntimeFunction(fnType, fnName); in emitObjCValueOperation()
2266 value = CGF.Builder.CreateBitCast(value, CGF.Int8PtrTy); in emitObjCValueOperation()
2269 llvm::CallBase *Inst = CGF.EmitCallOrInvoke(fn, value); in emitObjCValueOperation()
2278 return CGF.Builder.CreateBitCast(Inst, origType); in emitObjCValueOperation()
2329 static void emitAutoreleasedReturnValueMarker(CodeGenFunction &CGF) { in emitAutoreleasedReturnValueMarker() argument
2333 = CGF.CGM.getObjCEntrypoints().retainAutoreleasedReturnValueMarker; in emitAutoreleasedReturnValueMarker()
2336 = CGF.CGM.getTargetCodeGenInfo() in emitAutoreleasedReturnValueMarker()
2344 } else if (CGF.CGM.getCodeGenOpts().OptimizationLevel == 0) { in emitAutoreleasedReturnValueMarker()
2346 llvm::FunctionType::get(CGF.VoidTy, /*variadic*/false); in emitAutoreleasedReturnValueMarker()
2355 if (!CGF.CGM.getModule().getModuleFlag(retainRVMarkerKey)) { in emitAutoreleasedReturnValueMarker()
2356 auto *str = llvm::MDString::get(CGF.getLLVMContext(), assembly); in emitAutoreleasedReturnValueMarker()
2357 CGF.CGM.getModule().addModuleFlag(llvm::Module::Error, in emitAutoreleasedReturnValueMarker()
2365 CGF.Builder.CreateCall(marker, std::nullopt, in emitAutoreleasedReturnValueMarker()
2366 CGF.getBundlesForFunclet(marker)); in emitAutoreleasedReturnValueMarker()
2371 CodeGenFunction &CGF) { in emitOptimizedARCReturnCall() argument
2372 emitAutoreleasedReturnValueMarker(CGF); in emitOptimizedARCReturnCall()
2378 ObjCEntrypoints &EPs = CGF.CGM.getObjCEntrypoints(); in emitOptimizedARCReturnCall()
2385 EP = getARCIntrinsic(IID, CGF.CGM); in emitOptimizedARCReturnCall()
2387 llvm::Triple::ArchType Arch = CGF.CGM.getTriple().getArch(); in emitOptimizedARCReturnCall()
2391 if (CGF.CGM.getCodeGenOpts().OptimizationLevel > 0 && in emitOptimizedARCReturnCall()
2401 CGF.EmitARCNoopIntrinsicUse(newCall); in emitOptimizedARCReturnCall()
2406 CGF.CGM.getTargetCodeGenInfo().markARCOptimizedReturnCallsAsNoTail(); in emitOptimizedARCReturnCall()
2409 return emitARCValueOperation(CGF, value, nullptr, EP, IID, tailKind); in emitOptimizedARCReturnCall()
2778 void CodeGenFunction::destroyARCStrongPrecise(CodeGenFunction &CGF, in destroyARCStrongPrecise() argument
2781 CGF.EmitARCDestroyStrong(addr, ARCPreciseLifetime); in destroyARCStrongPrecise()
2784 void CodeGenFunction::destroyARCStrongImprecise(CodeGenFunction &CGF, in destroyARCStrongImprecise() argument
2787 CGF.EmitARCDestroyStrong(addr, ARCImpreciseLifetime); in destroyARCStrongImprecise()
2790 void CodeGenFunction::destroyARCWeak(CodeGenFunction &CGF, in destroyARCWeak() argument
2793 CGF.EmitARCDestroyWeak(addr); in destroyARCWeak()
2796 void CodeGenFunction::emitARCIntrinsicUse(CodeGenFunction &CGF, Address addr, in emitARCIntrinsicUse() argument
2798 llvm::Value *value = CGF.Builder.CreateLoad(addr); in emitARCIntrinsicUse()
2799 CGF.EmitARCIntrinsicUse(value); in emitARCIntrinsicUse()
2857 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2858 CGF.EmitObjCAutoreleasePoolPop(Token); in Emit()
2866 void Emit(CodeGenFunction &CGF, Flags flags) override { in Emit()
2867 CGF.EmitObjCMRRAutoreleasePoolPop(Token); in Emit()
2894 static TryEmitResult tryEmitARCRetainLoadOfScalar(CodeGenFunction &CGF, in tryEmitARCRetainLoadOfScalar() argument
2900 result = CGF.EmitLoadOfLValue(lvalue, SourceLocation()).getScalarVal(); in tryEmitARCRetainLoadOfScalar()
2903 result = CGF.EmitARCLoadWeakRetained(lvalue.getAddress(CGF)); in tryEmitARCRetainLoadOfScalar()
2908 static TryEmitResult tryEmitARCRetainLoadOfScalar(CodeGenFunction &CGF, in tryEmitARCRetainLoadOfScalar() argument
2920 LValue lv = CGF.EmitLValue(e); in tryEmitARCRetainLoadOfScalar()
2923 llvm::Value *result = CGF.EmitLoadOfLValue(lv, in tryEmitARCRetainLoadOfScalar()
2927 CGF.EmitStoreOfScalar(getNullForVariable(lv.getAddress(CGF)), lv); in tryEmitARCRetainLoadOfScalar()
2935 if (CGF.getLangOpts().CPlusPlus && in tryEmitARCRetainLoadOfScalar()
2940 return TryEmitResult(CGF.EmitScalarExpr(e), false); in tryEmitARCRetainLoadOfScalar()
2947 if (CodeGenFunction::ConstantEmission constant = CGF.tryEmitAsConstant(DRE)) in tryEmitARCRetainLoadOfScalar()
2948 return TryEmitResult(CGF.emitScalarConstant(constant, DRE), in tryEmitARCRetainLoadOfScalar()
2952 return tryEmitARCRetainLoadOfScalar(CGF, CGF.EmitLValue(e), type); in tryEmitARCRetainLoadOfScalar()
2955 typedef llvm::function_ref<llvm::Value *(CodeGenFunction &CGF,
2963 static llvm::Value *emitARCOperationAfterCall(CodeGenFunction &CGF, in emitARCOperationAfterCall() argument
2967 CGBuilderTy::InsertPoint ip = CGF.Builder.saveIP(); in emitARCOperationAfterCall()
2972 value = doFallback(CGF, value); in emitARCOperationAfterCall()
2975 CGF.Builder.SetInsertPoint(call->getParent(), in emitARCOperationAfterCall()
2977 value = doAfterCall(CGF, value); in emitARCOperationAfterCall()
2981 CGF.Builder.SetInsertPoint(BB, BB->begin()); in emitARCOperationAfterCall()
2982 value = doAfterCall(CGF, value); in emitARCOperationAfterCall()
2989 CGF.Builder.SetInsertPoint(bitcast->getParent(), bitcast->getIterator()); in emitARCOperationAfterCall()
2991 operand = emitARCOperationAfterCall(CGF, operand, doAfterCall, doFallback); in emitARCOperationAfterCall()
3002 inVal = emitARCOperationAfterCall(CGF, inVal, doAfterCall, doFallback); in emitARCOperationAfterCall()
3009 value = doFallback(CGF, value); in emitARCOperationAfterCall()
3013 CGF.Builder.restoreIP(ip); in emitARCOperationAfterCall()
3019 static llvm::Value *emitARCRetainCallResult(CodeGenFunction &CGF, in emitARCRetainCallResult() argument
3021 llvm::Value *value = CGF.EmitScalarExpr(e); in emitARCRetainCallResult()
3022 return emitARCOperationAfterCall(CGF, value, in emitARCRetainCallResult()
3023 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCRetainCallResult() argument
3024 return CGF.EmitARCRetainAutoreleasedReturnValue(value); in emitARCRetainCallResult()
3026 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCRetainCallResult() argument
3027 return CGF.EmitARCRetainNonBlock(value); in emitARCRetainCallResult()
3033 static llvm::Value *emitARCUnsafeClaimCallResult(CodeGenFunction &CGF, in emitARCUnsafeClaimCallResult() argument
3035 llvm::Value *value = CGF.EmitScalarExpr(e); in emitARCUnsafeClaimCallResult()
3036 return emitARCOperationAfterCall(CGF, value, in emitARCUnsafeClaimCallResult()
3037 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCUnsafeClaimCallResult() argument
3038 return CGF.EmitARCUnsafeClaimAutoreleasedReturnValue(value); in emitARCUnsafeClaimCallResult()
3040 [](CodeGenFunction &CGF, llvm::Value *value) { in emitARCUnsafeClaimCallResult() argument
3097 CodeGenFunction &CGF; member in __anon03164dbc0a11::ARCExprEmitter
3100 ARCExprEmitter(CodeGenFunction &CGF) : CGF(CGF) {} in ARCExprEmitter() argument
3155 opaqueData = OVMA::bind(CGF, ov, in visitPseudoObjectExpr()
3160 opaqueData = OVMA::bind(CGF, ov, ov->getSourceExpr()); in visitPseudoObjectExpr()
3171 CGF.EmitIgnoredExpr(semantic); in visitPseudoObjectExpr()
3177 opaques[i].unbind(CGF); in visitPseudoObjectExpr()
3201 llvm::Type *resultType = CGF.ConvertType(e->getType()); in visitCastExpr()
3228 CGF.EmitIgnoredExpr(e->getLHS()); in visitBinaryOperator()
3229 CGF.EnsureInsertPoint(); in visitBinaryOperator()
3272 CGF.EmitCheckedLValue(e->getLHS(), CodeGenFunction::TCK_Store); in visitBinAssignUnsafeUnretained()
3273 CGF.EmitStoreThroughLValue(RValue::get(asImpl().getValueOfResult(result)), in visitBinAssignUnsafeUnretained()
3343 ARCRetainExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {} in ARCRetainExprEmitter()
3351 value = CGF.Builder.CreateBitCast(value, resultType); in emitBitCast()
3357 return tryEmitARCRetainLoadOfScalar(CGF, e); in visitLValueToRValue()
3363 llvm::Value *result = CGF.EmitScalarExpr(e); in visitConsumeObject()
3371 if (CGF.CGM.getCodeGenOpts().ObjCAvoidHeapifyLocalBlocks && in visitBlockExpr()
3386 result = CGF.EmitScalarExpr(e); in visitExtendBlockObject()
3402 result = CGF.EmitARCRetainBlock(result, /*mandatory*/ true); in visitExtendBlockObject()
3409 llvm::Value *result = emitARCRetainCallResult(CGF, e); in visitReclaimReturnedObject()
3415 llvm::Value *result = emitARCRetainCallResult(CGF, e); in visitCall()
3424 llvm::Value *result = CGF.EmitScalarExpr(e); in visitExpr()
3431 tryEmitARCRetainScalarExpr(CodeGenFunction &CGF, const Expr *e) { in tryEmitARCRetainScalarExpr() argument
3432 return ARCRetainExprEmitter(CGF).visit(e); in tryEmitARCRetainScalarExpr()
3435 static llvm::Value *emitARCRetainLoadOfScalar(CodeGenFunction &CGF, in emitARCRetainLoadOfScalar() argument
3438 TryEmitResult result = tryEmitARCRetainLoadOfScalar(CGF, lvalue, type); in emitARCRetainLoadOfScalar()
3441 value = CGF.EmitARCRetain(type, value); in emitARCRetainLoadOfScalar()
3520 ARCUnsafeUnretainedExprEmitter(CodeGenFunction &CGF) : ARCExprEmitter(CGF) {} in ARCUnsafeUnretainedExprEmitter()
3527 return CGF.Builder.CreateBitCast(value, resultType); in emitBitCast()
3531 return CGF.EmitScalarExpr(e); in visitLValueToRValue()
3537 llvm::Value *value = CGF.EmitScalarExpr(e); in visitConsumeObject()
3538 return CGF.EmitObjCConsumeObject(e->getType(), value); in visitConsumeObject()
3544 return CGF.EmitARCExtendBlockObject(e); in visitExtendBlockObject()
3549 return CGF.EmitARCReclaimReturnedObject(e, /*unsafe*/ true); in visitReclaimReturnedObject()
3555 return CGF.EmitScalarExpr(e); in visitCall()
3560 return CGF.EmitScalarExpr(e); in visitExpr()
3565 static llvm::Value *emitARCUnsafeUnretainedScalarExpr(CodeGenFunction &CGF, in emitARCUnsafeUnretainedScalarExpr() argument
3567 return ARCUnsafeUnretainedExprEmitter(CGF).visit(e); in emitARCUnsafeUnretainedScalarExpr()
3953 static llvm::Value *emitIsPlatformVersionAtLeast(CodeGenFunction &CGF, in emitIsPlatformVersionAtLeast() argument
3955 CodeGenModule &CGM = CGF.CGM; in emitIsPlatformVersionAtLeast()
3983 CGF.EmitNounwindRuntimeCall(CGM.IsPlatformVersionAtLeastFn, Args); in emitIsPlatformVersionAtLeast()
3984 return CGF.Builder.CreateICmpNE(Check, in emitIsPlatformVersionAtLeast()
4076 CodeGenFunction CGF(*this); in emitAtAvailableLinkGuard() local
4077 CGF.Builder.SetInsertPoint(CGF.createBasicBlock("", CFLinkCheckFunc)); in emitAtAvailableLinkGuard()
4078 CGF.EmitNounwindRuntimeCall(CFFunc, in emitAtAvailableLinkGuard()
4080 CGF.Builder.CreateUnreachable(); in emitAtAvailableLinkGuard()