Lines Matching refs:Expr

73 bool IslExprBuilder::hasLargeInts(isl::ast_expr Expr) {  in hasLargeInts()  argument
74 enum isl_ast_expr_type Type = isl_ast_expr_get_type(Expr.get()); in hasLargeInts()
80 isl::val Val = Expr.get_val(); in hasLargeInts()
88 int NumArgs = isl_ast_expr_get_op_n_arg(Expr.get()); in hasLargeInts()
91 isl::ast_expr Operand = Expr.get_op_arg(i); in hasLargeInts()
173 Value *IslExprBuilder::createOpUnary(__isl_take isl_ast_expr *Expr) { in createOpUnary() argument
174 assert(isl_ast_expr_get_op_type(Expr) == isl_ast_op_minus && in createOpUnary()
178 Type *MaxType = getType(Expr); in createOpUnary()
182 V = create(isl_ast_expr_get_op_arg(Expr, 0)); in createOpUnary()
188 isl_ast_expr_free(Expr); in createOpUnary()
192 Value *IslExprBuilder::createOpNAry(__isl_take isl_ast_expr *Expr) { in createOpNAry() argument
193 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOpNAry()
195 assert(isl_ast_expr_get_op_n_arg(Expr) >= 2 && in createOpNAry()
199 switch (isl_ast_expr_get_op_type(Expr)) { in createOpNAry()
210 Value *V = create(isl_ast_expr_get_op_arg(Expr, 0)); in createOpNAry()
212 for (int i = 1; i < isl_ast_expr_get_op_n_arg(Expr); ++i) { in createOpNAry()
213 Value *OpV = create(isl_ast_expr_get_op_arg(Expr, i)); in createOpNAry()
230 isl_ast_expr_free(Expr); in createOpNAry()
235 IslExprBuilder::createAccessAddress(__isl_take isl_ast_expr *Expr) { in createAccessAddress() argument
236 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createAccessAddress()
238 assert(isl_ast_expr_get_op_type(Expr) == isl_ast_op_access && in createAccessAddress()
240 assert(isl_ast_expr_get_op_n_arg(Expr) >= 1 && in createAccessAddress()
247 BaseExpr = isl_ast_expr_get_op_arg(Expr, 0); in createAccessAddress()
281 if (isl_ast_expr_get_op_n_arg(Expr) == 1) { in createAccessAddress()
282 isl_ast_expr_free(Expr); in createAccessAddress()
289 for (unsigned u = 1, e = isl_ast_expr_get_op_n_arg(Expr); u < e; u++) { in createAccessAddress()
290 Value *NextIndex = create(isl_ast_expr_get_op_arg(Expr, u)); in createAccessAddress()
342 isl_ast_expr_free(Expr); in createAccessAddress()
346 Value *IslExprBuilder::createOpAccess(__isl_take isl_ast_expr *Expr) { in createOpAccess() argument
347 auto Info = createAccessAddress(Expr); in createOpAccess()
353 Value *IslExprBuilder::createOpBin(__isl_take isl_ast_expr *Expr) { in createOpBin() argument
358 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOpBin()
360 assert(isl_ast_expr_get_op_n_arg(Expr) == 2 && in createOpBin()
363 OpType = isl_ast_expr_get_op_type(Expr); in createOpBin()
365 LHS = create(isl_ast_expr_get_op_arg(Expr, 0)); in createOpBin()
366 RHS = create(isl_ast_expr_get_op_arg(Expr, 1)); in createOpBin()
391 MaxType = getWidestType(MaxType, getType(Expr)); in createOpBin()
456 isl_ast_expr_free(Expr); in createOpBin()
460 Value *IslExprBuilder::createOpSelect(__isl_take isl_ast_expr *Expr) { in createOpSelect() argument
461 assert(isl_ast_expr_get_op_type(Expr) == isl_ast_op_select && in createOpSelect()
464 Type *MaxType = getType(Expr); in createOpSelect()
466 Cond = create(isl_ast_expr_get_op_arg(Expr, 0)); in createOpSelect()
470 LHS = create(isl_ast_expr_get_op_arg(Expr, 1)); in createOpSelect()
471 RHS = create(isl_ast_expr_get_op_arg(Expr, 2)); in createOpSelect()
483 isl_ast_expr_free(Expr); in createOpSelect()
487 Value *IslExprBuilder::createOpICmp(__isl_take isl_ast_expr *Expr) { in createOpICmp() argument
488 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOpICmp()
493 auto *Op0 = isl_ast_expr_get_op_arg(Expr, 0); in createOpICmp()
494 auto *Op1 = isl_ast_expr_get_op_arg(Expr, 1); in createOpICmp()
526 isl_ast_op_type OpType = isl_ast_expr_get_op_type(Expr); in createOpICmp()
543 isl_ast_expr_free(Expr); in createOpICmp()
547 Value *IslExprBuilder::createOpBoolean(__isl_take isl_ast_expr *Expr) { in createOpBoolean() argument
548 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOpBoolean()
554 OpType = isl_ast_expr_get_op_type(Expr); in createOpBoolean()
559 LHS = create(isl_ast_expr_get_op_arg(Expr, 0)); in createOpBoolean()
560 RHS = create(isl_ast_expr_get_op_arg(Expr, 1)); in createOpBoolean()
590 isl_ast_expr_free(Expr); in createOpBoolean()
595 IslExprBuilder::createOpBooleanConditional(__isl_take isl_ast_expr *Expr) { in createOpBooleanConditional() argument
596 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOpBooleanConditional()
605 OpType = isl_ast_expr_get_op_type(Expr); in createOpBooleanConditional()
626 LHS = create(isl_ast_expr_get_op_arg(Expr, 0)); in createOpBooleanConditional()
637 RHS = create(isl_ast_expr_get_op_arg(Expr, 1)); in createOpBooleanConditional()
649 isl_ast_expr_free(Expr); in createOpBooleanConditional()
653 Value *IslExprBuilder::createOp(__isl_take isl_ast_expr *Expr) { in createOp() argument
654 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOp()
656 switch (isl_ast_expr_get_op_type(Expr)) { in createOp()
663 return createOpAccess(Expr); in createOp()
666 return createOpNAry(Expr); in createOp()
675 return createOpBin(Expr); in createOp()
677 return createOpUnary(Expr); in createOp()
679 return createOpSelect(Expr); in createOp()
682 return createOpBoolean(Expr); in createOp()
685 return createOpBooleanConditional(Expr); in createOp()
691 return createOpICmp(Expr); in createOp()
693 return createOpAddressOf(Expr); in createOp()
699 Value *IslExprBuilder::createOpAddressOf(__isl_take isl_ast_expr *Expr) { in createOpAddressOf() argument
700 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_op && in createOpAddressOf()
702 assert(isl_ast_expr_get_op_n_arg(Expr) == 1 && "Address of should be unary."); in createOpAddressOf()
704 isl_ast_expr *Op = isl_ast_expr_get_op_arg(Expr, 0); in createOpAddressOf()
712 isl_ast_expr_free(Expr); in createOpAddressOf()
717 Value *IslExprBuilder::createId(__isl_take isl_ast_expr *Expr) { in createId() argument
718 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_id && in createId()
724 Id = isl_ast_expr_get_id(Expr); in createId()
730 V = UndefValue::get(getType(Expr)); in createId()
738 isl_ast_expr_free(Expr); in createId()
743 IntegerType *IslExprBuilder::getType(__isl_keep isl_ast_expr *Expr) { in getType() argument
751 Value *IslExprBuilder::createInt(__isl_take isl_ast_expr *Expr) { in createInt() argument
752 assert(isl_ast_expr_get_type(Expr) == isl_ast_expr_int && in createInt()
759 Val = isl_ast_expr_get_val(Expr); in createInt()
764 T = getType(Expr); in createInt()
771 isl_ast_expr_free(Expr); in createInt()
775 Value *IslExprBuilder::create(__isl_take isl_ast_expr *Expr) { in create() argument
776 switch (isl_ast_expr_get_type(Expr)) { in create()
780 return createOp(Expr); in create()
782 return createId(Expr); in create()
784 return createInt(Expr); in create()