Home | History | Annotate | Download | only in CodeGen

Lines Matching defs:expr

10 // This contains code to emit Expr nodes with scalar LLVM types as LLVM code.
49 const Expr *E; // Entire expr, for error unsupported. May not be binop.
52 static bool MustVisitNullValue(const Expr *E) {
83 LValue EmitLValue(const Expr *E) { return CGF.EmitLValue(E); }
84 LValue EmitCheckedLValue(const Expr *E, CodeGenFunction::TypeCheckKind TCK) {
97 Value *EmitLoadOfLValue(const Expr *E) {
162 Value *Visit(Expr *E) {
170 Value *VisitExpr(Expr *S);
264 Value *VisitExtVectorElementExpr(Expr *E) { return EmitLoadOfLValue(E); }
387 // C++ [expr.pseudo]p1:
505 Value *VisitBinPtrMemD(const Expr *E) { return EmitLoadOfLValue(E); }
506 Value *VisitBinPtrMemI(const Expr *E) { return EmitLoadOfLValue(E); }
890 Value *ScalarExprEmitter::VisitExpr(Expr *E) {
1048 if (E->EvaluateAsInt(Value, CGF.getContext(), Expr::SE_AllowSideEffects)) {
1063 // loads the lvalue formed by the subscript expr. However, we have to be
1121 Expr *IE = E->getInit(i);
1247 const Expr *E = CE->getSubExpr();
1270 Expr *E = CE->getSubExpr();
1298 Value *Src = Visit(const_cast<Expr*>(E));
1309 Value *Src = Visit(const_cast<Expr*>(E));
1316 return Visit(const_cast<Expr*>(E));
1329 // C++11 [expr.static.cast]p11: Behavior is undefined if a downcast is
1348 Value *V = Visit(const_cast<Expr*>(E));
1433 return Visit(const_cast<Expr*>(E));
1436 Value *Src = Visit(const_cast<Expr*>(E));
1457 Value *Elt = Visit(const_cast<Expr*>(E));
1805 // ZExt result to the expr type.
1826 Expr *IdxExpr = E->getIndexExpr(ON.getArrayExprIndex());
1937 Expr *Op = E->getSubExpr();
1954 Expr *Op = E->getSubExpr();
2300 // Must have binary (not unary) expr here. Unary pointer
2302 const BinaryOperator *expr = cast<BinaryOperator>(op.E);
2305 Expr *pointerOperand = expr->getLHS();
2307 Expr *indexOperand = expr->getRHS();
2534 const BinaryOperator *expr = cast<BinaryOperator>(op.E);
2535 QualType elementType = expr->getLHS()->getType()->getPointeeType();
3050 static bool isCheapEnoughToEvaluateUnconditionally(const Expr *E,
3072 Expr *condExpr = E->getCond();
3073 Expr *lhsExpr = E->getTrueExpr();
3074 Expr *rhsExpr = E->getFalseExpr();
3080 Expr *live = lhsExpr, *dead = rhsExpr;
3281 Value *CodeGenFunction::EmitScalarExpr(const Expr *E, bool IgnoreResultAssign) {
3288 .Visit(const_cast<Expr*>(E));
3329 Expr *BaseExpr = E->getBase();