reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
50 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { 73 return EmitLoadOfLValue(CGF.EmitLValue(E), E->getExprLoc()); 94 ApplyDebugLocation DL(CGF, E); 99 S->dump(CGF.getContext().getSourceManager()); 116 return CGF.EmitCoawaitExpr(*S).getComplexVal(); 119 return CGF.EmitCoyieldExpr(*S).getComplexVal(); 129 return EmitLoadOfLValue(Constant.getReferenceLValue(CGF, E), 139 if (CodeGenFunction::ConstantEmission Constant = CGF.tryEmitAsConstant(E)) 147 return CGF.EmitObjCMessageExpr(E).getComplexVal(); 152 CGF.tryEmitAsConstant(ME)) { 153 CGF.EmitIgnoredExpr(ME->getBase()); 160 return EmitLoadOfLValue(CGF.getOrCreateOpaqueLValueMapping(E), 162 return CGF.getOrCreateOpaqueRValueMapping(E).getComplexVal(); 166 return CGF.EmitPseudoObjectRValue(E).getComplexVal(); 179 CGF.CGM.EmitExplicitCastExprType(ECE, &CGF); 179 CGF.CGM.EmitExplicitCastExprType(ECE, &CGF); 188 LValue LV = CGF.EmitLValue(E->getSubExpr()); 189 return CGF.EmitComplexPrePostIncDec(E, LV, isInc, isPre); 216 CodeGenFunction::CXXDefaultArgExprScope Scope(CGF, DAE); 220 CodeGenFunction::CXXDefaultInitExprScope Scope(CGF, DIE); 224 CGF.enterFullExpression(E); 225 CodeGenFunction::RunCleanupsScope Scope(CGF); 235 llvm::Constant *Null = llvm::Constant::getNullValue(CGF.ConvertType(Elem)); 242 llvm::Constant::getNullValue(CGF.ConvertType(Elem)); 324 return CGF.EmitAtomicExpr(E).getComplexVal(); 349 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal(); 357 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType()); 362 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType()); 374 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue))) 375 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit); 378 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType()); 379 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType()); 392 CGF.ErrorUnsupported(E, "complex expression"); 394 CGF.ConvertType(getComplexType(E->getType())->getElementType()); 401 llvm::Value *Imag = CGF.EmitScalarExpr(IL->getSubExpr()); 407 if (E->getCallReturnType(CGF.getContext())->isReferenceType()) 410 return CGF.EmitCallExpr(E).getComplexVal(); 414 CodeGenFunction::StmtExprEvaluation eval(CGF); 415 Address RetAlloca = CGF.EmitCompoundStmt(*E->getSubStmt(), true); 417 return EmitLoadOfLValue(CGF.MakeAddrLValue(RetAlloca, E->getType()), 433 Val.first = CGF.EmitScalarConversion(Val.first, SrcType, DestType, Loc); 434 Val.second = CGF.EmitScalarConversion(Val.second, SrcType, DestType, Loc); 444 Val = CGF.EmitScalarConversion(Val, SrcType, DestType, Loc); 465 LValue origLV = CGF.EmitLValue(Op); 467 V = Builder.CreateElementBitCast(V, CGF.ConvertType(DestTy)); 468 return EmitLoadOfLValue(CGF.MakeAddrLValue(V, DestTy), Op->getExprLoc()); 472 LValue SourceLVal = CGF.EmitLValue(Op); 474 CGF.ConvertTypeForMem(DestTy)); 475 LValue DestLV = CGF.MakeAddrLValue(Addr, DestTy); 532 return EmitScalarToComplexCast(CGF.EmitScalarExpr(Op), Op->getType(), 638 QualType FQTy = CGF.getContext().getFunctionType(Op.Ty, ArgsQTys, EPI); 639 const CGFunctionInfo &FuncInfo = CGF.CGM.getTypes().arrangeFreeFunctionCall( 642 llvm::FunctionType *FTy = CGF.CGM.getTypes().GetFunctionType(FuncInfo); 643 llvm::FunctionCallee Func = CGF.CGM.CreateRuntimeFunction( 648 RValue Res = CGF.EmitCall(FuncInfo, Callee, ReturnValueSlot(), Args, &Call); 649 Call->setCallingConv(CGF.CGM.getRuntimeCC()); 679 llvm::MDBuilder MDHelper(CGF.getLLVMContext()); 714 llvm::BasicBlock *ContBB = CGF.createBasicBlock("complex_mul_cont"); 715 llvm::BasicBlock *INaNBB = CGF.createBasicBlock("complex_mul_imag_nan"); 725 CGF.EmitBlock(INaNBB); 727 llvm::BasicBlock *LibCallBB = CGF.createBasicBlock("complex_mul_libcall"); 732 CGF.EmitBlock(LibCallBB); 740 CGF.EmitBlock(ContBB); 791 if (RHSi && !CGF.getLangOpts().FastMath) { 872 Ops.LHS = ComplexPairTy(CGF.EmitScalarExpr(E->getLHS()), nullptr); 876 Ops.RHS = ComplexPairTy(CGF.EmitScalarExpr(E->getRHS()), nullptr); 906 CGF.getContext() 908 OpInfo.RHS = ComplexPairTy(CGF.EmitScalarExpr(E->getRHS()), nullptr); 910 assert(CGF.getContext() 915 LValue LHS = CGF.EmitLValue(E->getLHS()); 923 llvm::Value *LHSVal = CGF.EmitLoadOfScalar(LHS, Loc); 927 if (!CGF.getContext().hasSameUnqualifiedType(ComplexElementTy, LHSTy)) 928 LHSVal = CGF.EmitScalarConversion(LHSVal, LHSTy, ComplexElementTy, Loc); 946 CGF.EmitComplexToScalarConversion(Result, OpInfo.Ty, LHSTy, Loc); 947 CGF.EmitStoreOfScalar(ResVal, LHS, /*isInit*/ false); 962 if (!CGF.getLangOpts().CPlusPlus) 974 assert(CGF.getContext().hasSameUnqualifiedType(E->getLHS()->getType(), 984 LValue LHS = CGF.EmitLValue(E->getLHS()); 997 if (!CGF.getLangOpts().CPlusPlus) 1008 CGF.EmitIgnoredExpr(E->getLHS()); 1016 llvm::BasicBlock *LHSBlock = CGF.createBasicBlock("cond.true"); 1017 llvm::BasicBlock *RHSBlock = CGF.createBasicBlock("cond.false"); 1018 llvm::BasicBlock *ContBlock = CGF.createBasicBlock("cond.end"); 1021 CodeGenFunction::OpaqueValueMapping binding(CGF, E); 1024 CodeGenFunction::ConditionalEvaluation eval(CGF); 1025 CGF.EmitBranchOnBoolExpr(E->getCond(), LHSBlock, RHSBlock, 1026 CGF.getProfileCount(E)); 1028 eval.begin(CGF); 1029 CGF.EmitBlock(LHSBlock); 1030 CGF.incrementProfileCounter(E); 1033 CGF.EmitBranch(ContBlock); 1034 eval.end(CGF); 1036 eval.begin(CGF); 1037 CGF.EmitBlock(RHSBlock); 1040 CGF.EmitBlock(ContBlock); 1041 eval.end(CGF); 1069 llvm::Value *Real = CGF.EmitScalarExpr(E->getInit(0)); 1070 llvm::Value *Imag = CGF.EmitScalarExpr(E->getInit(1)); 1079 llvm::Type* LTy = CGF.ConvertType(Ty); 1086 Address ArgPtr = CGF.EmitVAArg(E, ArgValue); 1089 CGF.ErrorUnsupported(E, "complex va_arg expression"); 1091 CGF.ConvertType(E->getType()->castAs<ComplexType>()->getElementType()); 1096 return EmitLoadOfLValue(CGF.MakeAddrLValue(ArgPtr, E->getType()),