reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/CodeGen/CGExprComplex.cpp
   43   : public StmtVisitor<ComplexExprEmitter, ComplexPairTy> {
   72   ComplexPairTy EmitLoadOfLValue(const Expr *E) {
   76   ComplexPairTy EmitLoadOfLValue(LValue LV, SourceLocation Loc);
   80   void EmitStoreOfComplex(ComplexPairTy Val, LValue LV, bool isInit);
   83   ComplexPairTy EmitComplexToComplexCast(ComplexPairTy Val, QualType SrcType,
   83   ComplexPairTy EmitComplexToComplexCast(ComplexPairTy Val, QualType SrcType,
   86   ComplexPairTy EmitScalarToComplexCast(llvm::Value *Val, QualType SrcType,
   93   ComplexPairTy Visit(Expr *E) {
   98   ComplexPairTy VisitStmt(Stmt *S) {
  102   ComplexPairTy VisitExpr(Expr *S);
  103   ComplexPairTy VisitConstantExpr(ConstantExpr *E) {
  106   ComplexPairTy VisitParenExpr(ParenExpr *PE) { return Visit(PE->getSubExpr());}
  107   ComplexPairTy VisitGenericSelectionExpr(GenericSelectionExpr *GE) {
  110   ComplexPairTy VisitImaginaryLiteral(const ImaginaryLiteral *IL);
  111   ComplexPairTy
  115   ComplexPairTy VisitCoawaitExpr(CoawaitExpr *S) {
  118   ComplexPairTy VisitCoyieldExpr(CoyieldExpr *S) {
  121   ComplexPairTy VisitUnaryCoawait(const UnaryOperator *E) {
  125   ComplexPairTy emitConstant(const CodeGenFunction::ConstantEmission &Constant,
  138   ComplexPairTy VisitDeclRefExpr(DeclRefExpr *E) {
  143   ComplexPairTy VisitObjCIvarRefExpr(ObjCIvarRefExpr *E) {
  146   ComplexPairTy VisitObjCMessageExpr(ObjCMessageExpr *E) {
  149   ComplexPairTy VisitArraySubscriptExpr(Expr *E) { return EmitLoadOfLValue(E); }
  150   ComplexPairTy VisitMemberExpr(MemberExpr *ME) {
  158   ComplexPairTy VisitOpaqueValueExpr(OpaqueValueExpr *E) {
  165   ComplexPairTy VisitPseudoObjectExpr(PseudoObjectExpr *E) {
  171   ComplexPairTy EmitCast(CastKind CK, Expr *Op, QualType DestTy);
  172   ComplexPairTy VisitImplicitCastExpr(ImplicitCastExpr *E) {
  177   ComplexPairTy VisitCastExpr(CastExpr *E) {
  182   ComplexPairTy VisitCallExpr(const CallExpr *E);
  183   ComplexPairTy VisitStmtExpr(const StmtExpr *E);
  186   ComplexPairTy VisitPrePostIncDec(const UnaryOperator *E,
  191   ComplexPairTy VisitUnaryPostDec(const UnaryOperator *E) {
  194   ComplexPairTy VisitUnaryPostInc(const UnaryOperator *E) {
  197   ComplexPairTy VisitUnaryPreDec(const UnaryOperator *E) {
  200   ComplexPairTy VisitUnaryPreInc(const UnaryOperator *E) {
  203   ComplexPairTy VisitUnaryDeref(const Expr *E) { return EmitLoadOfLValue(E); }
  204   ComplexPairTy VisitUnaryPlus     (const UnaryOperator *E) {
  209   ComplexPairTy VisitUnaryMinus    (const UnaryOperator *E);
  210   ComplexPairTy VisitUnaryNot      (const UnaryOperator *E);
  212   ComplexPairTy VisitUnaryExtension(const UnaryOperator *E) {
  215   ComplexPairTy VisitCXXDefaultArgExpr(CXXDefaultArgExpr *DAE) {
  219   ComplexPairTy VisitCXXDefaultInitExpr(CXXDefaultInitExpr *DIE) {
  223   ComplexPairTy VisitExprWithCleanups(ExprWithCleanups *E) {
  226     ComplexPairTy Vals = Visit(E->getSubExpr());
  232   ComplexPairTy VisitCXXScalarValueInitExpr(CXXScalarValueInitExpr *E) {
  238   ComplexPairTy VisitImplicitValueInitExpr(ImplicitValueInitExpr *E) {
  247     ComplexPairTy LHS;
  248     ComplexPairTy RHS;
  257   ComplexPairTy EmitCompoundAssign(const CompoundAssignOperator *E,
  261   ComplexPairTy EmitBinAdd(const BinOpInfo &Op);
  262   ComplexPairTy EmitBinSub(const BinOpInfo &Op);
  263   ComplexPairTy EmitBinMul(const BinOpInfo &Op);
  264   ComplexPairTy EmitBinDiv(const BinOpInfo &Op);
  266   ComplexPairTy EmitComplexBinOpLibCall(StringRef LibCallName,
  269   ComplexPairTy VisitBinAdd(const BinaryOperator *E) {
  272   ComplexPairTy VisitBinSub(const BinaryOperator *E) {
  275   ComplexPairTy VisitBinMul(const BinaryOperator *E) {
  278   ComplexPairTy VisitBinDiv(const BinaryOperator *E) {
  282   ComplexPairTy VisitCXXRewrittenBinaryOperator(CXXRewrittenBinaryOperator *E) {
  287   ComplexPairTy VisitBinAddAssign(const CompoundAssignOperator *E) {
  290   ComplexPairTy VisitBinSubAssign(const CompoundAssignOperator *E) {
  293   ComplexPairTy VisitBinMulAssign(const CompoundAssignOperator *E) {
  296   ComplexPairTy VisitBinDivAssign(const CompoundAssignOperator *E) {
  306                              ComplexPairTy &Val);
  307   ComplexPairTy VisitBinAssign     (const BinaryOperator *E);
  308   ComplexPairTy VisitBinComma      (const BinaryOperator *E);
  311   ComplexPairTy
  313   ComplexPairTy VisitChooseExpr(ChooseExpr *CE);
  315   ComplexPairTy VisitInitListExpr(InitListExpr *E);
  317   ComplexPairTy VisitCompoundLiteralExpr(CompoundLiteralExpr *E) {
  321   ComplexPairTy VisitVAArgExpr(VAArgExpr *E);
  323   ComplexPairTy VisitAtomicExpr(AtomicExpr *E) {
  345 ComplexPairTy ComplexExprEmitter::EmitLoadOfLValue(LValue lvalue,
  371 void ComplexExprEmitter::EmitStoreOfComplex(ComplexPairTy Val, LValue lvalue,
  391 ComplexPairTy ComplexExprEmitter::VisitExpr(Expr *E) {
  399 ComplexPairTy ComplexExprEmitter::
  406 ComplexPairTy ComplexExprEmitter::VisitCallExpr(const CallExpr *E) {
  413 ComplexPairTy ComplexExprEmitter::VisitStmtExpr(const StmtExpr *E) {
  422 ComplexPairTy ComplexExprEmitter::EmitComplexToComplexCast(ComplexPairTy Val,
  422 ComplexPairTy ComplexExprEmitter::EmitComplexToComplexCast(ComplexPairTy Val,
  438 ComplexPairTy ComplexExprEmitter::EmitScalarToComplexCast(llvm::Value *Val,
  450 ComplexPairTy ComplexExprEmitter::EmitCast(CastKind CK, Expr *Op,
  546 ComplexPairTy ComplexExprEmitter::VisitUnaryMinus(const UnaryOperator *E) {
  549   ComplexPairTy Op = Visit(E->getSubExpr());
  562 ComplexPairTy ComplexExprEmitter::VisitUnaryNot(const UnaryOperator *E) {
  566   ComplexPairTy Op = Visit(E->getSubExpr());
  576 ComplexPairTy ComplexExprEmitter::EmitBinAdd(const BinOpInfo &Op) {
  595 ComplexPairTy ComplexExprEmitter::EmitBinSub(const BinOpInfo &Op) {
  615 ComplexPairTy ComplexExprEmitter::EmitComplexBinOpLibCall(StringRef LibCallName,
  676 ComplexPairTy ComplexExprEmitter::EmitBinMul(const BinOpInfo &Op) {
  778 ComplexPairTy ComplexExprEmitter::EmitBinDiv(const BinOpInfo &Op) {
  920     ComplexPairTy LHSVal = EmitLoadOfLValue(LHS, Loc);
  936   ComplexPairTy Result = (this->*Func)(OpInfo);
  940     ComplexPairTy ResVal =
  955 ComplexPairTy ComplexExprEmitter::
  973                                                ComplexPairTy &Val) {
  992 ComplexPairTy ComplexExprEmitter::VisitBinAssign(const BinaryOperator *E) {
  993   ComplexPairTy Val;
 1007 ComplexPairTy ComplexExprEmitter::VisitBinComma(const BinaryOperator *E) {
 1012 ComplexPairTy ComplexExprEmitter::
 1031   ComplexPairTy LHS = Visit(E->getTrueExpr());
 1038   ComplexPairTy RHS = Visit(E->getFalseExpr());
 1056 ComplexPairTy ComplexExprEmitter::VisitChooseExpr(ChooseExpr *E) {
 1060 ComplexPairTy ComplexExprEmitter::VisitInitListExpr(InitListExpr *E) {
 1084 ComplexPairTy ComplexExprEmitter::VisitVAArgExpr(VAArgExpr *E) {
 1106 ComplexPairTy CodeGenFunction::EmitComplexExpr(const Expr *E, bool IgnoreReal,
 1131 ComplexPairTy CodeGenFunction::EmitLoadOfComplex(LValue src,