• Home
  • Raw
  • Download

Lines Matching refs:CGF

48   CodeGenFunction &CGF;  member in __anon7c5a867e0111::ComplexExprEmitter
54 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) { in ComplexExprEmitter()
77 return EmitLoadOfLValue(CGF.EmitLValue(E), E->getExprLoc()); in EmitLoadOfLValue()
98 ApplyDebugLocation DL(CGF, E); in Visit()
103 S->dump(CGF.getContext().getSourceManager()); in VisitStmt()
119 if (CodeGenFunction::ConstantEmission result = CGF.tryEmitAsConstant(E)) { in VisitDeclRefExpr()
121 return EmitLoadOfLValue(result.getReferenceLValue(CGF, E), in VisitDeclRefExpr()
134 return CGF.EmitObjCMessageExpr(E).getComplexVal(); in VisitObjCMessageExpr()
140 return EmitLoadOfLValue(CGF.getOpaqueLValueMapping(E), E->getExprLoc()); in VisitOpaqueValueExpr()
141 return CGF.getOpaqueRValueMapping(E).getComplexVal(); in VisitOpaqueValueExpr()
145 return CGF.EmitPseudoObjectRValue(E).getComplexVal(); in VisitPseudoObjectExpr()
158 CGF.CGM.EmitExplicitCastExprType(ECE, &CGF); in VisitCastExpr()
167 LValue LV = CGF.EmitLValue(E->getSubExpr()); in VisitPrePostIncDec()
168 return CGF.EmitComplexPrePostIncDec(E, LV, isInc, isPre); in VisitPrePostIncDec()
198 CodeGenFunction::CXXDefaultInitExprScope Scope(CGF); in VisitCXXDefaultInitExpr()
202 CGF.enterFullExpression(E); in VisitExprWithCleanups()
203 CodeGenFunction::RunCleanupsScope Scope(CGF); in VisitExprWithCleanups()
209 llvm::Constant *Null = llvm::Constant::getNullValue(CGF.ConvertType(Elem)); in VisitCXXScalarValueInitExpr()
216 llvm::Constant::getNullValue(CGF.ConvertType(Elem)); in VisitImplicitValueInitExpr()
294 return CGF.EmitAtomicExpr(E).getComplexVal(); in VisitAtomicExpr()
322 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal(); in EmitLoadOfLValue()
330 Address RealP = CGF.emitAddrOfRealComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
335 Address ImagP = CGF.emitAddrOfImagComponent(SrcPtr, lvalue.getType()); in EmitLoadOfLValue()
347 (!isInit && CGF.LValueIsSuitableForInlineAtomic(lvalue))) in EmitStoreOfComplex()
348 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit); in EmitStoreOfComplex()
351 Address RealPtr = CGF.emitAddrOfRealComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
352 Address ImagPtr = CGF.emitAddrOfImagComponent(Ptr, lvalue.getType()); in EmitStoreOfComplex()
365 CGF.ErrorUnsupported(E, "complex expression"); in VisitExpr()
367 CGF.ConvertType(getComplexType(E->getType())->getElementType()); in VisitExpr()
374 llvm::Value *Imag = CGF.EmitScalarExpr(IL->getSubExpr()); in VisitImaginaryLiteral()
380 if (E->getCallReturnType(CGF.getContext())->isReferenceType()) in VisitCallExpr()
383 return CGF.EmitCallExpr(E).getComplexVal(); in VisitCallExpr()
387 CodeGenFunction::StmtExprEvaluation eval(CGF); in VisitStmtExpr()
388 Address RetAlloca = CGF.EmitCompoundStmt(*E->getSubStmt(), true); in VisitStmtExpr()
390 return EmitLoadOfLValue(CGF.MakeAddrLValue(RetAlloca, E->getType()), in VisitStmtExpr()
406 Val.first = CGF.EmitScalarConversion(Val.first, SrcType, DestType, Loc); in EmitComplexToComplexCast()
407 Val.second = CGF.EmitScalarConversion(Val.second, SrcType, DestType, Loc); in EmitComplexToComplexCast()
417 Val = CGF.EmitScalarConversion(Val, SrcType, DestType, Loc); in EmitScalarToComplexCast()
438 LValue origLV = CGF.EmitLValue(Op); in EmitCast()
440 V = Builder.CreateElementBitCast(V, CGF.ConvertType(DestTy)); in EmitCast()
441 return EmitLoadOfLValue(CGF.MakeAddrLValue(V, DestTy), Op->getExprLoc()); in EmitCast()
491 return EmitScalarToComplexCast(CGF.EmitScalarExpr(Op), Op->getType(), in EmitCast()
597 QualType FQTy = CGF.getContext().getFunctionType(Op.Ty, ArgsQTys, EPI); in EmitComplexBinOpLibCall()
598 const CGFunctionInfo &FuncInfo = CGF.CGM.getTypes().arrangeFreeFunctionCall( in EmitComplexBinOpLibCall()
601 llvm::FunctionType *FTy = CGF.CGM.getTypes().GetFunctionType(FuncInfo); in EmitComplexBinOpLibCall()
602 llvm::Constant *Func = CGF.CGM.CreateBuiltinFunction(FTy, LibCallName); in EmitComplexBinOpLibCall()
605 RValue Res = CGF.EmitCall(FuncInfo, Func, ReturnValueSlot(), Args, in EmitComplexBinOpLibCall()
607 cast<llvm::CallInst>(Call)->setCallingConv(CGF.CGM.getBuiltinCC()); in EmitComplexBinOpLibCall()
637 llvm::MDBuilder MDHelper(CGF.getLLVMContext()); in EmitBinMul()
672 llvm::BasicBlock *ContBB = CGF.createBasicBlock("complex_mul_cont"); in EmitBinMul()
673 llvm::BasicBlock *INaNBB = CGF.createBasicBlock("complex_mul_imag_nan"); in EmitBinMul()
683 CGF.EmitBlock(INaNBB); in EmitBinMul()
685 llvm::BasicBlock *LibCallBB = CGF.createBasicBlock("complex_mul_libcall"); in EmitBinMul()
690 CGF.EmitBlock(LibCallBB); in EmitBinMul()
698 CGF.EmitBlock(ContBB); in EmitBinMul()
810 Ops.LHS = ComplexPairTy(CGF.EmitScalarExpr(E->getLHS()), nullptr); in EmitBinOps()
814 Ops.RHS = ComplexPairTy(CGF.EmitScalarExpr(E->getRHS()), nullptr); in EmitBinOps()
844 CGF.getContext() in EmitCompoundAssignLValue()
846 OpInfo.RHS = ComplexPairTy(CGF.EmitScalarExpr(E->getRHS()), nullptr); in EmitCompoundAssignLValue()
848 assert(CGF.getContext() in EmitCompoundAssignLValue()
853 LValue LHS = CGF.EmitLValue(E->getLHS()); in EmitCompoundAssignLValue()
861 llvm::Value *LHSVal = CGF.EmitLoadOfScalar(LHS, Loc); in EmitCompoundAssignLValue()
865 if (!CGF.getContext().hasSameUnqualifiedType(ComplexElementTy, LHSTy)) in EmitCompoundAssignLValue()
866 LHSVal = CGF.EmitScalarConversion(LHSVal, LHSTy, ComplexElementTy, Loc); in EmitCompoundAssignLValue()
884 CGF.EmitComplexToScalarConversion(Result, OpInfo.Ty, LHSTy, Loc); in EmitCompoundAssignLValue()
885 CGF.EmitStoreOfScalar(ResVal, LHS, /*isInit*/ false); in EmitCompoundAssignLValue()
900 if (!CGF.getLangOpts().CPlusPlus) in EmitCompoundAssign()
912 assert(CGF.getContext().hasSameUnqualifiedType(E->getLHS()->getType(), in EmitBinAssignLValue()
922 LValue LHS = CGF.EmitLValue(E->getLHS()); in EmitBinAssignLValue()
935 if (!CGF.getLangOpts().CPlusPlus) in VisitBinAssign()
946 CGF.EmitIgnoredExpr(E->getLHS()); in VisitBinComma()
954 llvm::BasicBlock *LHSBlock = CGF.createBasicBlock("cond.true"); in VisitAbstractConditionalOperator()
955 llvm::BasicBlock *RHSBlock = CGF.createBasicBlock("cond.false"); in VisitAbstractConditionalOperator()
956 llvm::BasicBlock *ContBlock = CGF.createBasicBlock("cond.end"); in VisitAbstractConditionalOperator()
959 CodeGenFunction::OpaqueValueMapping binding(CGF, E); in VisitAbstractConditionalOperator()
962 CodeGenFunction::ConditionalEvaluation eval(CGF); in VisitAbstractConditionalOperator()
963 CGF.EmitBranchOnBoolExpr(E->getCond(), LHSBlock, RHSBlock, in VisitAbstractConditionalOperator()
964 CGF.getProfileCount(E)); in VisitAbstractConditionalOperator()
966 eval.begin(CGF); in VisitAbstractConditionalOperator()
967 CGF.EmitBlock(LHSBlock); in VisitAbstractConditionalOperator()
968 CGF.incrementProfileCounter(E); in VisitAbstractConditionalOperator()
971 CGF.EmitBranch(ContBlock); in VisitAbstractConditionalOperator()
972 eval.end(CGF); in VisitAbstractConditionalOperator()
974 eval.begin(CGF); in VisitAbstractConditionalOperator()
975 CGF.EmitBlock(RHSBlock); in VisitAbstractConditionalOperator()
978 CGF.EmitBlock(ContBlock); in VisitAbstractConditionalOperator()
979 eval.end(CGF); in VisitAbstractConditionalOperator()
1007 llvm::Value *Real = CGF.EmitScalarExpr(E->getInit(0)); in VisitInitListExpr()
1008 llvm::Value *Imag = CGF.EmitScalarExpr(E->getInit(1)); in VisitInitListExpr()
1017 llvm::Type* LTy = CGF.ConvertType(Ty); in VisitInitListExpr()
1024 Address ArgPtr = CGF.EmitVAArg(E, ArgValue); in VisitVAArgExpr()
1027 CGF.ErrorUnsupported(E, "complex va_arg expression"); in VisitVAArgExpr()
1029 CGF.ConvertType(E->getType()->castAs<ComplexType>()->getElementType()); in VisitVAArgExpr()
1034 return EmitLoadOfLValue(CGF.MakeAddrLValue(ArgPtr, E->getType()), in VisitVAArgExpr()