Lines Matching refs:ComplexPairTy

35 typedef CodeGenFunction::ComplexPairTy ComplexPairTy;  typedef
49 : public StmtVisitor<ComplexExprEmitter, ComplexPairTy> {
79 ComplexPairTy EmitLoadOfLValue(const Expr *E) { in EmitLoadOfLValue()
83 ComplexPairTy EmitLoadOfLValue(LValue LV, SourceLocation Loc);
87 void EmitStoreOfComplex(ComplexPairTy Val, LValue LV, bool isInit);
90 ComplexPairTy EmitComplexToComplexCast(ComplexPairTy Val, QualType SrcType,
93 ComplexPairTy EmitScalarToComplexCast(llvm::Value *Val, QualType SrcType,
100 ComplexPairTy Visit(Expr *E) { in Visit()
102 return StmtVisitor<ComplexExprEmitter, ComplexPairTy>::Visit(E); in Visit()
105 ComplexPairTy VisitStmt(Stmt *S) { in VisitStmt()
109 ComplexPairTy VisitExpr(Expr *S);
110 ComplexPairTy VisitConstantExpr(ConstantExpr *E) { in VisitConstantExpr()
112 return ComplexPairTy(Result->getAggregateElement(0U), in VisitConstantExpr()
116 ComplexPairTy VisitParenExpr(ParenExpr *PE) { return Visit(PE->getSubExpr());} in VisitParenExpr()
117 ComplexPairTy VisitGenericSelectionExpr(GenericSelectionExpr *GE) { in VisitGenericSelectionExpr()
120 ComplexPairTy VisitImaginaryLiteral(const ImaginaryLiteral *IL);
121 ComplexPairTy
125 ComplexPairTy VisitCoawaitExpr(CoawaitExpr *S) { in VisitCoawaitExpr()
128 ComplexPairTy VisitCoyieldExpr(CoyieldExpr *S) { in VisitCoyieldExpr()
131 ComplexPairTy VisitUnaryCoawait(const UnaryOperator *E) { in VisitUnaryCoawait()
135 ComplexPairTy emitConstant(const CodeGenFunction::ConstantEmission &Constant, in emitConstant()
143 return ComplexPairTy(pair->getAggregateElement(0U), in emitConstant()
148 ComplexPairTy VisitDeclRefExpr(DeclRefExpr *E) { in VisitDeclRefExpr()
153 ComplexPairTy VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) { in VisitObjCIvarRefExpr()
156 ComplexPairTy VisitObjCMessageExpr(ObjCMessageExpr *E) { in VisitObjCMessageExpr()
159 ComplexPairTy VisitArraySubscriptExpr(Expr *E) { return EmitLoadOfLValue(E); } in VisitArraySubscriptExpr()
160 ComplexPairTy VisitMemberExpr(MemberExpr *ME) { in VisitMemberExpr()
168 ComplexPairTy VisitOpaqueValueExpr(OpaqueValueExpr *E) { in VisitOpaqueValueExpr()
175 ComplexPairTy VisitPseudoObjectExpr(PseudoObjectExpr *E) { in VisitPseudoObjectExpr()
181 ComplexPairTy EmitCast(CastKind CK, Expr *Op, QualType DestTy);
182 ComplexPairTy VisitImplicitCastExpr(ImplicitCastExpr *E) { in VisitImplicitCastExpr()
189 ComplexPairTy VisitCastExpr(CastExpr *E) { in VisitCastExpr()
196 ComplexPairTy VisitCallExpr(const CallExpr *E);
197 ComplexPairTy VisitStmtExpr(const StmtExpr *E);
200 ComplexPairTy VisitPrePostIncDec(const UnaryOperator *E, in VisitPrePostIncDec()
205 ComplexPairTy VisitUnaryPostDec(const UnaryOperator *E) { in VisitUnaryPostDec()
208 ComplexPairTy VisitUnaryPostInc(const UnaryOperator *E) { in VisitUnaryPostInc()
211 ComplexPairTy VisitUnaryPreDec(const UnaryOperator *E) { in VisitUnaryPreDec()
214 ComplexPairTy VisitUnaryPreInc(const UnaryOperator *E) { in VisitUnaryPreInc()
217 ComplexPairTy VisitUnaryDeref(const Expr *E) { return EmitLoadOfLValue(E); } in VisitUnaryDeref()
219 ComplexPairTy VisitUnaryPlus(const UnaryOperator *E,
221 ComplexPairTy VisitPlus(const UnaryOperator *E, QualType PromotionType);
222 ComplexPairTy VisitUnaryMinus(const UnaryOperator *E,
224 ComplexPairTy VisitMinus(const UnaryOperator *E, QualType PromotionType);
225 ComplexPairTy VisitUnaryNot (const UnaryOperator *E);
227 ComplexPairTy VisitUnaryExtension(const UnaryOperator *E) { in VisitUnaryExtension()
230 ComplexPairTy VisitCXXDefaultArgExpr(CXXDefaultArgExpr *DAE) { in VisitCXXDefaultArgExpr()
234 ComplexPairTy VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE) { in VisitCXXDefaultInitExpr()
238 ComplexPairTy VisitExprWithCleanups(ExprWithCleanups *E) { in VisitExprWithCleanups()
240 ComplexPairTy Vals = Visit(E->getSubExpr()); in VisitExprWithCleanups()
246 ComplexPairTy VisitCXXScalarValueInitExpr(CXXScalarValueInitExpr *E) { in VisitCXXScalarValueInitExpr()
250 return ComplexPairTy(Null, Null); in VisitCXXScalarValueInitExpr()
252 ComplexPairTy VisitImplicitValueInitExpr(ImplicitValueInitExpr *E) { in VisitImplicitValueInitExpr()
257 return ComplexPairTy(Null, Null); in VisitImplicitValueInitExpr()
261 ComplexPairTy LHS;
262 ComplexPairTy RHS;
269 ComplexPairTy EmitPromoted(const Expr *E, QualType PromotionTy);
270 ComplexPairTy EmitPromotedComplexOperand(const Expr *E, QualType PromotionTy);
272 ComplexPairTy (ComplexExprEmitter::*Func)
275 ComplexPairTy EmitCompoundAssign(const CompoundAssignOperator *E,
276 ComplexPairTy (ComplexExprEmitter::*Func)
279 ComplexPairTy EmitBinAdd(const BinOpInfo &Op);
280 ComplexPairTy EmitBinSub(const BinOpInfo &Op);
281 ComplexPairTy EmitBinMul(const BinOpInfo &Op);
282 ComplexPairTy EmitBinDiv(const BinOpInfo &Op);
283 ComplexPairTy EmitAlgebraicDiv(llvm::Value *A, llvm::Value *B, llvm::Value *C,
285 ComplexPairTy EmitRangeReductionDiv(llvm::Value *A, llvm::Value *B,
288 ComplexPairTy EmitComplexBinOpLibCall(StringRef LibCallName,
356 ComplexPairTy VisitBin##OP(const BinaryOperator *E) { \
360 ComplexPairTy result = EmitBin##OP(EmitBinOps(E, promotionTy)); \
372 ComplexPairTy VisitCXXRewrittenBinaryOperator(CXXRewrittenBinaryOperator *E) { in HANDLEBINOP()
377 ComplexPairTy VisitBinAddAssign(const CompoundAssignOperator *E) { in VisitBinAddAssign()
380 ComplexPairTy VisitBinSubAssign(const CompoundAssignOperator *E) { in VisitBinSubAssign()
383 ComplexPairTy VisitBinMulAssign(const CompoundAssignOperator *E) { in VisitBinMulAssign()
386 ComplexPairTy VisitBinDivAssign(const CompoundAssignOperator *E) { in VisitBinDivAssign()
396 ComplexPairTy &Val);
397 ComplexPairTy VisitBinAssign (const BinaryOperator *E);
398 ComplexPairTy VisitBinComma (const BinaryOperator *E);
401 ComplexPairTy
403 ComplexPairTy VisitChooseExpr(ChooseExpr *CE);
405 ComplexPairTy VisitInitListExpr(InitListExpr *E);
407 ComplexPairTy VisitCompoundLiteralExpr(CompoundLiteralExpr *E) { in VisitCompoundLiteralExpr()
411 ComplexPairTy VisitVAArgExpr(VAArgExpr *E);
413 ComplexPairTy VisitAtomicExpr(AtomicExpr *E) { in VisitAtomicExpr()
417 ComplexPairTy VisitPackIndexingExpr(PackIndexingExpr *E) { in VisitPackIndexingExpr()
439 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue, in EmitLoadOfLValue()
460 return ComplexPairTy(Real, Imag); in EmitLoadOfLValue()
465 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue, in EmitStoreOfComplex()
485 ComplexPairTy ComplexExprEmitter::VisitExpr(Expr *E) { in VisitExpr()
490 return ComplexPairTy(U, U); in VisitExpr()
493 ComplexPairTy ComplexExprEmitter::
496 return ComplexPairTy(llvm::Constant::getNullValue(Imag->getType()), Imag); in VisitImaginaryLiteral()
500 ComplexPairTy ComplexExprEmitter::VisitCallExpr(const CallExpr *E) { in VisitCallExpr()
507 ComplexPairTy ComplexExprEmitter::VisitStmtExpr(const StmtExpr *E) { in VisitStmtExpr()
516 ComplexPairTy ComplexExprEmitter::EmitComplexToComplexCast(ComplexPairTy Val, in EmitComplexToComplexCast()
534 ComplexPairTy ComplexExprEmitter::EmitScalarToComplexCast(llvm::Value *Val, in EmitScalarToComplexCast()
543 return ComplexPairTy(Val, llvm::Constant::getNullValue(Val->getType())); in EmitScalarToComplexCast()
546 ComplexPairTy ComplexExprEmitter::EmitCast(CastKind CK, Expr *Op, in EmitCast()
650 ComplexPairTy ComplexExprEmitter::VisitUnaryPlus(const UnaryOperator *E, in VisitUnaryPlus()
658 ComplexPairTy result = VisitPlus(E, promotionTy); in VisitUnaryPlus()
664 ComplexPairTy ComplexExprEmitter::VisitPlus(const UnaryOperator *E, in VisitPlus()
673 ComplexPairTy ComplexExprEmitter::VisitUnaryMinus(const UnaryOperator *E, in VisitUnaryMinus()
680 ComplexPairTy result = VisitMinus(E, promotionTy); in VisitUnaryMinus()
685 ComplexPairTy ComplexExprEmitter::VisitMinus(const UnaryOperator *E, in VisitMinus()
689 ComplexPairTy Op; in VisitMinus()
703 return ComplexPairTy(ResR, ResI); in VisitMinus()
706 ComplexPairTy ComplexExprEmitter::VisitUnaryNot(const UnaryOperator *E) { in VisitUnaryNot()
710 ComplexPairTy Op = Visit(E->getSubExpr()); in VisitUnaryNot()
717 return ComplexPairTy(Op.first, ResI); in VisitUnaryNot()
720 ComplexPairTy ComplexExprEmitter::EmitBinAdd(const BinOpInfo &Op) { in EmitBinAdd()
737 return ComplexPairTy(ResR, ResI); in EmitBinAdd()
740 ComplexPairTy ComplexExprEmitter::EmitBinSub(const BinOpInfo &Op) { in EmitBinSub()
757 return ComplexPairTy(ResR, ResI); in EmitBinSub()
761 ComplexPairTy ComplexExprEmitter::EmitComplexBinOpLibCall(StringRef LibCallName, in EmitComplexBinOpLibCall()
822 ComplexPairTy ComplexExprEmitter::EmitBinMul(const BinOpInfo &Op) { in EmitBinMul()
859 return ComplexPairTy(ResR, ResI); in EmitBinMul()
898 return ComplexPairTy(RealPHI, ImagPHI); in EmitBinMul()
922 return ComplexPairTy(ResR, ResI); in EmitBinMul()
925 ComplexPairTy ComplexExprEmitter::EmitAlgebraicDiv(llvm::Value *LHSr, in EmitAlgebraicDiv()
946 return ComplexPairTy(DSTr, DSTi); in EmitAlgebraicDiv()
959 ComplexPairTy ComplexExprEmitter::EmitRangeReductionDiv(llvm::Value *LHSr, in EmitRangeReductionDiv()
1027 return ComplexPairTy(VALr, VALi); in EmitRangeReductionDiv()
1032 ComplexPairTy ComplexExprEmitter::EmitBinDiv(const BinOpInfo &Op) { in EmitBinDiv()
1043 return ComplexPairTy(DSTr, DSTi); in EmitBinDiv()
1112 return ComplexPairTy(DSTr, DSTi); in EmitBinDiv()
1115 ComplexPairTy CodeGenFunction::EmitUnPromotedValue(ComplexPairTy result, in EmitUnPromotedValue()
1128 ComplexPairTy CodeGenFunction::EmitPromotedValue(ComplexPairTy result, in EmitPromotedValue()
1140 ComplexPairTy ComplexExprEmitter::EmitPromoted(const Expr *E, in EmitPromoted()
1173 ComplexPairTy CodeGenFunction::EmitPromotedComplexExpr(const Expr *E, in EmitPromotedComplexExpr()
1178 ComplexPairTy
1190 return ComplexPairTy(CGF.EmitPromotedScalarExpr(E, ComplexElementTy), in EmitPromotedComplexOperand()
1193 return ComplexPairTy(CGF.EmitScalarExpr(E), nullptr); in EmitPromotedComplexOperand()
1218 ComplexPairTy (ComplexExprEmitter::*Func)(const BinOpInfo&), in EmitCompoundAssignLValue()
1247 OpInfo.RHS = ComplexPairTy( in EmitCompoundAssignLValue()
1253 OpInfo.RHS = ComplexPairTy(CGF.EmitScalarExpr(E->getRHS()), nullptr); in EmitCompoundAssignLValue()
1257 OpInfo.RHS = ComplexPairTy( in EmitCompoundAssignLValue()
1273 ComplexPairTy LHSVal = EmitLoadOfLValue(LHS, Loc); in EmitCompoundAssignLValue()
1297 OpInfo.LHS = ComplexPairTy(LHSVal, nullptr); in EmitCompoundAssignLValue()
1304 ComplexPairTy Result = (this->*Func)(OpInfo); in EmitCompoundAssignLValue()
1308 ComplexPairTy ResVal = in EmitCompoundAssignLValue()
1323 ComplexPairTy ComplexExprEmitter::
1325 ComplexPairTy (ComplexExprEmitter::*Func)(const BinOpInfo&)){ in EmitCompoundAssign()
1341 ComplexPairTy &Val) { in EmitBinAssignLValue()
1360 ComplexPairTy ComplexExprEmitter::VisitBinAssign(const BinaryOperator *E) { in VisitBinAssign()
1361 ComplexPairTy Val; in VisitBinAssign()
1375 ComplexPairTy ComplexExprEmitter::VisitBinComma(const BinaryOperator *E) { in VisitBinComma()
1380 ComplexPairTy ComplexExprEmitter::
1403 ComplexPairTy LHS = Visit(E->getTrueExpr()); in VisitAbstractConditionalOperator()
1412 ComplexPairTy RHS = Visit(E->getFalseExpr()); in VisitAbstractConditionalOperator()
1429 return ComplexPairTy(RealPN, ImagPN); in VisitAbstractConditionalOperator()
1432 ComplexPairTy ComplexExprEmitter::VisitChooseExpr(ChooseExpr *E) { in VisitChooseExpr()
1436 ComplexPairTy ComplexExprEmitter::VisitInitListExpr(InitListExpr *E) { in VisitInitListExpr()
1447 return ComplexPairTy(Real, Imag); in VisitInitListExpr()
1457 return ComplexPairTy(zeroConstant, zeroConstant); in VisitInitListExpr()
1460 ComplexPairTy ComplexExprEmitter::VisitVAArgExpr(VAArgExpr *E) { in VisitVAArgExpr()
1469 return ComplexPairTy(U, U); in VisitVAArgExpr()
1481 ComplexPairTy CodeGenFunction::EmitComplexExpr(const Expr *E, bool IgnoreReal, in EmitComplexExpr()
1495 ComplexPairTy Val = Emitter.Visit(const_cast<Expr*>(E)); in EmitComplexExprIntoLValue()
1500 void CodeGenFunction::EmitStoreOfComplex(ComplexPairTy V, LValue dest, in EmitStoreOfComplex()
1506 ComplexPairTy CodeGenFunction::EmitLoadOfComplex(LValue src, in EmitLoadOfComplex()
1513 ComplexPairTy Val; // ignored in EmitComplexAssignmentLValue()
1521 typedef ComplexPairTy (ComplexExprEmitter::*CompoundFunc)(