Lines Matching refs:CGF
44 CodeGenFunction &CGF;
49 ComplexExprEmitter(CodeGenFunction &cgf, bool ir=false, bool ii=false)
50 : CGF(cgf), Builder(CGF.Builder), IgnoreReal(ir), IgnoreImag(ii) {
73 return EmitLoadOfLValue(CGF.EmitLValue(E), E->getExprLoc());
98 S->dump(CGF.getContext().getSourceManager());
114 if (CodeGenFunction::ConstantEmission result = CGF.tryEmitAsConstant(E)) {
116 return EmitLoadOfLValue(result.getReferenceLValue(CGF, E),
129 return CGF.EmitObjCMessageExpr(E).getComplexVal();
135 return EmitLoadOfLValue(CGF.getOpaqueLValueMapping(E), E->getExprLoc());
136 return CGF.getOpaqueRValueMapping(E).getComplexVal();
140 return CGF.EmitPseudoObjectRValue(E).getComplexVal();
160 LValue LV = CGF.EmitLValue(E->getSubExpr());
161 return CGF.EmitComplexPrePostIncDec(E, LV, isInc, isPre);
191 CodeGenFunction::CXXDefaultInitExprScope Scope(CGF);
195 CGF.enterFullExpression(E);
196 CodeGenFunction::RunCleanupsScope Scope(CGF);
202 llvm::Constant *Null = llvm::Constant::getNullValue(CGF.ConvertType(Elem));
209 llvm::Constant::getNullValue(CGF.ConvertType(Elem));
284 return CGF.EmitAtomicExpr(E).getComplexVal();
299 return CGF.EmitAtomicLoad(lvalue, loc).getComplexVal();
304 ASTContext &C = CGF.getContext();
333 return CGF.EmitAtomicStore(RValue::getComplex(Val), lvalue, isInit);
339 ASTContext &C = CGF.getContext();
357 CGF.ErrorUnsupported(E, "complex expression");
359 CGF.ConvertType(getComplexType(E->getType())->getElementType());
366 llvm::Value *Imag = CGF.EmitScalarExpr(IL->getSubExpr());
375 return CGF.EmitCallExpr(E).getComplexVal();
379 CodeGenFunction::StmtExprEvaluation eval(CGF);
380 llvm::Value *RetAlloca = CGF.EmitCompoundStmt(*E->getSubStmt(), true);
382 return EmitLoadOfLValue(CGF.MakeAddrLValue(RetAlloca, E->getType()),
397 Val.first = CGF.EmitScalarConversion(Val.first, SrcType, DestType);
398 Val.second = CGF.EmitScalarConversion(Val.second, SrcType, DestType);
407 Val = CGF.EmitScalarConversion(Val, SrcType, DestType);
428 LValue origLV = CGF.EmitLValue(Op);
431 CGF.ConvertType(CGF.getContext().getPointerType(DestTy)));
432 return EmitLoadOfLValue(CGF.MakeAddrLValue(V, DestTy,
483 return EmitScalarToComplexCast(CGF.EmitScalarExpr(Op),
653 assert(CGF.getContext().hasSameUnqualifiedType(OpInfo.Ty,
657 LValue LHS = CGF.EmitLValue(E->getLHS());
664 llvm::Value *LHSVal = CGF.EmitLoadOfScalar(LHS, E->getExprLoc());
678 CGF.EmitComplexToScalarConversion(Result, OpInfo.Ty, LHSTy);
679 CGF.EmitStoreOfScalar(ResVal, LHS, /*isInit*/ false);
694 if (!CGF.getLangOpts().CPlusPlus)
706 assert(CGF.getContext().hasSameUnqualifiedType(E->getLHS()->getType(),
716 LValue LHS = CGF.EmitLValue(E->getLHS());
729 if (!CGF.getLangOpts().CPlusPlus)
740 CGF.EmitIgnoredExpr(E->getLHS());
748 llvm::BasicBlock *LHSBlock = CGF.createBasicBlock("cond.true");
749 llvm::BasicBlock *RHSBlock = CGF.createBasicBlock("cond.false");
750 llvm::BasicBlock *ContBlock = CGF.createBasicBlock("cond.end");
753 CodeGenFunction::OpaqueValueMapping binding(CGF, E);
755 RegionCounter Cnt = CGF.getPGORegionCounter(E);
756 CodeGenFunction::ConditionalEvaluation eval(CGF);
757 CGF.EmitBranchOnBoolExpr(E->getCond(), LHSBlock, RHSBlock, Cnt.getCount());
759 eval.begin(CGF);
760 CGF.EmitBlock(LHSBlock);
764 CGF.EmitBranch(ContBlock);
765 eval.end(CGF);
767 eval.begin(CGF);
768 CGF.EmitBlock(RHSBlock);
771 CGF.EmitBlock(ContBlock);
772 eval.end(CGF);
800 llvm::Value *Real = CGF.EmitScalarExpr(E->getInit(0));
801 llvm::Value *Imag = CGF.EmitScalarExpr(E->getInit(1));
810 llvm::Type* LTy = CGF.ConvertType(Ty);
816 llvm::Value *ArgValue = CGF.EmitVAListRef(E->getSubExpr());
817 llvm::Value *ArgPtr = CGF.EmitVAArg(ArgValue, E->getType());
820 CGF.ErrorUnsupported(E, "complex va_arg expression");
822 CGF.ConvertType(E->getType()->castAs<ComplexType>()->getElementType());
827 return EmitLoadOfLValue(CGF.MakeNaturalAlignAddrLValue(ArgPtr, E->getType()),