Lines Matching defs:ScalarExprEmitter

58 class ScalarExprEmitter
59 : public StmtVisitor<ScalarExprEmitter, Value*> {
66 ScalarExprEmitter(CodeGenFunction &cgf, bool ira=false)
151 return StmtVisitor<ScalarExprEmitter, Value*>::Visit(E);
457 Value *(ScalarExprEmitter::*F)(const BinOpInfo &),
461 Value *(ScalarExprEmitter::*F)(const BinOpInfo &));
469 return EmitCompoundAssign(E, &ScalarExprEmitter::Emit ## OP); \
526 Value *ScalarExprEmitter::EmitConversionToBool(Value *Src, QualType SrcType) {
547 Value *ScalarExprEmitter::EmitScalarConversion(Value *Src, QualType SrcType,
669 Value *ScalarExprEmitter::
690 Value *ScalarExprEmitter::EmitNullValue(QualType Ty) {
701 Value *ScalarExprEmitter::VisitExpr(Expr *E) {
708 Value *ScalarExprEmitter::VisitShuffleVectorExpr(ShuffleVectorExpr *E) {
802 Value *ScalarExprEmitter::VisitMemberExpr(MemberExpr *E) {
825 Value *ScalarExprEmitter::VisitArraySubscriptExpr(ArraySubscriptExpr *E) {
852 Value *ScalarExprEmitter::VisitInitListExpr(InitListExpr *E) {
1037 Value *ScalarExprEmitter::VisitCastExpr(CastExpr *CE) {
1258 Value *ScalarExprEmitter::VisitStmtExpr(const StmtExpr *E) {
1264 Value *ScalarExprEmitter::VisitBlockDeclRefExpr(const BlockDeclRefExpr *E) {
1273 llvm::Value *ScalarExprEmitter::
1297 ScalarExprEmitter::EmitScalarPrePostIncDec(const UnaryOperator *E, LValue LV,
1439 Value *ScalarExprEmitter::VisitUnaryMinus(const UnaryOperator *E) {
1455 Value *ScalarExprEmitter::VisitUnaryNot(const UnaryOperator *E) {
1461 Value *ScalarExprEmitter::VisitUnaryLNot(const UnaryOperator *E) {
1474 Value *ScalarExprEmitter::VisitOffsetOfExpr(OffsetOfExpr *E) {
1567 ScalarExprEmitter::VisitUnaryExprOrTypeTraitExpr(
1604 Value *ScalarExprEmitter::VisitUnaryReal(const UnaryOperator *E) {
1620 Value *ScalarExprEmitter::VisitUnaryImag(const UnaryOperator *E) {
1643 BinOpInfo ScalarExprEmitter::EmitBinOps(const BinaryOperator *E) {
1654 LValue ScalarExprEmitter::EmitCompoundAssignLValue(
1656 Value *(ScalarExprEmitter::*Func)(const BinOpInfo &),
1701 Value *ScalarExprEmitter::EmitCompoundAssign(const CompoundAssignOperator *E,
1702 Value *(ScalarExprEmitter::*Func)(const BinOpInfo &)) {
1727 void ScalarExprEmitter::EmitUndefinedBehaviorIntegerDivAndRemCheck(
1757 Value *ScalarExprEmitter::EmitDiv(const BinOpInfo &Ops) {
1783 Value *ScalarExprEmitter::EmitRem(const BinOpInfo &Ops) {
1798 Value *ScalarExprEmitter::EmitOverflowCheckedBinOp(const BinOpInfo &Ops) {
1968 Value *ScalarExprEmitter::EmitAdd(const BinOpInfo &op) {
1990 Value *ScalarExprEmitter::EmitSub(const BinOpInfo &op) {
2068 Value *ScalarExprEmitter::EmitShl(const BinOpInfo &Ops) {
2088 Value *ScalarExprEmitter::EmitShr(const BinOpInfo &Ops) {
2152 Value *ScalarExprEmitter::EmitCompare(const BinaryOperator *E,unsigned UICmpOpc,
2284 Value *ScalarExprEmitter::VisitBinAssign(const BinaryOperator *E) {
2343 Value *ScalarExprEmitter::VisitBinLAnd(const BinaryOperator *E) {
2398 Value *ScalarExprEmitter::VisitBinLOr(const BinaryOperator *E) {
2453 Value *ScalarExprEmitter::VisitBinComma(const BinaryOperator *E) {
2488 Value *ScalarExprEmitter::
2613 Value *ScalarExprEmitter::VisitChooseExpr(ChooseExpr *E) {
2617 Value *ScalarExprEmitter::VisitVAArgExpr(VAArgExpr *VE) {
2629 Value *ScalarExprEmitter::VisitBlockExpr(const BlockExpr *block) {
2633 Value *ScalarExprEmitter::VisitAsTypeExpr(AsTypeExpr *E) {
2683 Value *ScalarExprEmitter::VisitAtomicExpr(AtomicExpr *E) {
2699 Value *V = ScalarExprEmitter(*this, IgnoreResultAssign)
2712 return ScalarExprEmitter(*this).EmitScalarConversion(Src, SrcTy, DstTy);
2723 return ScalarExprEmitter(*this).EmitComplexToScalarConversion(Src, SrcTy,
2731 return ScalarExprEmitter(*this).EmitScalarPrePostIncDec(E, LV, isInc, isPre);
2746 V = ScalarExprEmitter(*this).EmitLoadOfLValue(
2750 V = ScalarExprEmitter(*this).EmitLoadOfLValue(BaseExpr);
2764 ScalarExprEmitter Scalar(*this);
2769 return Scalar.EmitCompoundAssignLValue(E, &ScalarExprEmitter::Emit##Op, \