From 059bd599de7af441bdab565e4d80b9081f3674bc Mon Sep 17 00:00:00 2001 From: Sven Verdoolaege Date: Sun, 15 Dec 2013 18:04:26 +0100 Subject: [PATCH] pet_expr: merge unary, binary and ternary types into operation type We already keep track of the number of arguments in n_arg, so there is no need to also encode this number in the expression type. Signed-off-by: Sven Verdoolaege --- emit.c | 5 +-- include/pet.h | 5 +-- parse.c | 4 +- pet_check_code.c | 45 ++++++++++++++++------- print.c | 75 ++++++++++++++++++++++---------------- scop.c | 46 ++++++++--------------- tests/QR.scop | 16 ++++---- tests/arg.scop | 8 ++-- tests/assume.scop | 4 +- tests/autodetect/decl.scop | 8 ++-- tests/autodetect/if1.scop | 2 +- tests/autodetect/if2.scop | 2 +- tests/autodetect/if3.scop | 2 +- tests/autodetect/loop1.scop | 2 +- tests/autodetect/loop2.scop | 2 +- tests/autodetect/loop3.scop | 2 +- tests/autodetect/loop4.scop | 2 +- tests/autodetect/loop5.scop | 2 +- tests/autodetect/scalar.scop | 2 +- tests/autodetect/while.scop | 2 +- tests/boolean.scop | 8 ++-- tests/break.scop | 6 +-- tests/break2.scop | 6 +-- tests/break3.scop | 8 ++-- tests/break4.scop | 62 +++++++++++++++++-------------- tests/break5.scop | 6 +-- tests/cast.scop | 2 +- tests/ceild.scop | 2 +- tests/conditional_assignment.scop | 13 ++++--- tests/conditional_assignment2.scop | 15 ++++---- tests/continue.scop | 6 +-- tests/continue2.scop | 34 +++++++++-------- tests/continue3.scop | 23 ++++++------ tests/continue4.scop | 19 +++++----- tests/continue5.scop | 19 +++++----- tests/cuervo.scop | 6 +-- tests/data_dependent.scop | 10 ++--- tests/data_dependent2.scop | 14 +++---- tests/dec.scop | 2 +- tests/dec2.scop | 2 +- tests/dec3.scop | 2 +- tests/dec4.scop | 2 +- tests/decl.scop | 12 +++--- tests/div_mod.scop | 28 +++++++------- tests/dynamic_bound.scop | 8 ++-- tests/dynamic_condition.scop | 4 +- tests/empty_domain.scop | 2 +- tests/filter.scop | 2 +- tests/filter2.scop | 4 +- tests/filter3.scop | 6 +-- tests/float.scop | 4 +- tests/floord.scop | 2 +- tests/floord2.scop | 2 +- tests/for_while.scop | 6 +-- tests/for_while_dec.scop | 6 +-- tests/for_while_inc.scop | 6 +-- tests/for_while_overflow.scop | 8 ++-- tests/for_while_unsigned.scop | 6 +-- tests/for_while_unsigned2.scop | 8 ++-- tests/forward_substitution1.scop | 8 ++-- tests/forward_substitution2.scop | 6 +-- tests/forward_substitution3.scop | 12 +++--- tests/forward_substitution5.scop | 6 +-- tests/generic_condition.scop | 2 +- tests/generic_condition2.scop | 2 +- tests/implicit_condition.scop | 2 +- tests/inc.scop | 2 +- tests/inc2.scop | 2 +- tests/inc3.scop | 2 +- tests/inc4.scop | 2 +- tests/inf.scop | 4 +- tests/inf2.scop | 4 +- tests/inf3.scop | 6 +-- tests/iterator_declaration.scop | 2 +- tests/label.scop | 4 +- tests/loop.scop | 2 +- tests/loop2.scop | 2 +- tests/loop3.scop | 2 +- tests/loop4.scop | 2 +- tests/loop5.scop | 2 +- tests/loop_body.scop | 2 +- tests/loop_body2.scop | 2 +- tests/matmul.scop | 6 +-- tests/max.scop | 2 +- tests/min.scop | 2 +- tests/min2.scop | 2 +- tests/mod.scop | 2 +- tests/mod2.scop | 4 +- tests/omega.scop | 2 +- tests/piecewise.scop | 2 +- tests/piecewise2.scop | 2 +- tests/propagate.scop | 9 +++-- tests/quasi_affine.scop | 6 +-- tests/scalar.scop | 2 +- tests/scalar_inc.scop | 4 +- tests/shortcut1.scop | 2 +- tests/shortcut2.scop | 2 +- tests/static.scop | 2 +- tests/struct1.scop | 2 +- tests/struct10.scop | 2 +- tests/struct2.scop | 2 +- tests/struct3.scop | 8 ++-- tests/struct4.scop | 4 +- tests/struct5.scop | 4 +- tests/struct6.scop | 2 +- tests/struct7.scop | 2 +- tests/struct8.scop | 6 +-- tests/ternary.scop | 7 ++-- tests/tobi1.scop | 2 +- tests/tobi2.scop | 2 +- tests/unsigned1.scop | 2 +- tests/unsigned2.scop | 2 +- tests/unsigned3.scop | 2 +- tests/unsigned_break1.scop | 4 +- tests/unsigned_break2.scop | 6 +-- tests/wdp.scop | 24 ++++++------ tests/while.scop | 6 +-- tests/while_affine.scop | 4 +- tests/while_break.scop | 24 ++++++------ tests/while_inc.scop | 10 ++--- tests/while_overflow.scop | 8 ++-- 121 files changed, 456 insertions(+), 427 deletions(-) diff --git a/emit.c b/emit.c index 4145266..f390c9b 100644 --- a/emit.c +++ b/emit.c @@ -442,15 +442,12 @@ static int emit_expr(yaml_emitter_t *emitter, struct pet_expr *expr) if (emit_int(emitter, expr->acc.write) < 0) return -1; break; - case pet_expr_unary: - case pet_expr_binary: + case pet_expr_op: if (emit_string(emitter, "operation") < 0) return -1; if (emit_string(emitter, pet_op_str(expr->op)) < 0) return -1; break; - case pet_expr_ternary: - break; case pet_expr_call: if (emit_string(emitter, "name") < 0) return -1; diff --git a/include/pet.h b/include/pet.h index 317727c..e036b3d 100644 --- a/include/pet.h +++ b/include/pet.h @@ -37,9 +37,7 @@ enum pet_expr_type { pet_expr_cast, pet_expr_int, pet_expr_double, - pet_expr_unary, - pet_expr_binary, - pet_expr_ternary + pet_expr_op }; enum pet_op_type { @@ -77,6 +75,7 @@ enum pet_op_type { pet_op_land, pet_op_lor, pet_op_lnot, + pet_op_cond, pet_op_last }; diff --git a/parse.c b/parse.c index 845b1a6..fb56efd 100644 --- a/parse.c +++ b/parse.c @@ -548,9 +548,7 @@ static struct pet_expr *extract_expr(isl_ctx *ctx, yaml_document_t *document, case pet_expr_int: expr = extract_expr_int(ctx, document, node, expr); break; - case pet_expr_unary: - case pet_expr_binary: - case pet_expr_ternary: + case pet_expr_op: expr = extract_expr_op(ctx, document, node, expr); break; } diff --git a/pet_check_code.c b/pet_check_code.c index 61f6119..3320944 100644 --- a/pet_check_code.c +++ b/pet_check_code.c @@ -237,32 +237,28 @@ static __isl_give isl_pw_aff *int_expr_extract_pw_aff(struct pet_expr *expr, return isl_pw_aff_from_aff(aff); } -/* Extract an affine expression from "expr", possibly exploiting "assignments", - * in the form of an isl_pw_aff. +/* Extract an affine expression from the operation in "expr", + * possibly exploiting "assignments". * * "space" is the iteration space of the statement containing the expression. * * We only handle the kinds of expressions that we would expect * as arguments to a function call in code generated by isl. */ -static __isl_give isl_pw_aff *expr_extract_pw_aff(struct pet_expr *expr, +static __isl_give isl_pw_aff *op_expr_extract_pw_aff(struct pet_expr *expr, __isl_keep isl_space *space, __isl_keep isl_id_to_pw_aff *assignments) { isl_pw_aff *pa, *pa1, *pa2; - switch (expr->type) { - case pet_expr_int: - return int_expr_extract_pw_aff(expr, space); - case pet_expr_access: - return access_expr_extract_pw_aff(expr, assignments); - case pet_expr_unary: + switch (expr->n_arg) { + case 1: if (expr->op == pet_op_minus) { pa = expr_extract_pw_aff(expr->args[0], space, assignments); return isl_pw_aff_neg(pa); } assert(0); - case pet_expr_binary: + case 2: pa1 = expr_extract_pw_aff(expr->args[0], space, assignments); pa2 = expr_extract_pw_aff(expr->args[1], space, assignments); switch (expr->op) { @@ -285,13 +281,36 @@ static __isl_give isl_pw_aff *expr_extract_pw_aff(struct pet_expr *expr, assert(0); } return pa; - case pet_expr_call: - return call_expr_extract_pw_aff(expr, space, assignments); - case pet_expr_ternary: + case 3: pa = expr_extract_pw_aff(expr->args[0], space, assignments); pa1 = expr_extract_pw_aff(expr->args[1], space, assignments); pa2 = expr_extract_pw_aff(expr->args[2], space, assignments); return isl_pw_aff_cond(pa, pa1, pa2); + default: + assert(0); + } +} + +/* Extract an affine expression from "expr", possibly exploiting "assignments", + * in the form of an isl_pw_aff. + * + * "space" is the iteration space of the statement containing the expression. + * + * We only handle the kinds of expressions that we would expect + * as arguments to a function call in code generated by isl. + */ +static __isl_give isl_pw_aff *expr_extract_pw_aff(struct pet_expr *expr, + __isl_keep isl_space *space, __isl_keep isl_id_to_pw_aff *assignments) +{ + switch (expr->type) { + case pet_expr_int: + return int_expr_extract_pw_aff(expr, space); + case pet_expr_access: + return access_expr_extract_pw_aff(expr, assignments); + case pet_expr_op: + return op_expr_extract_pw_aff(expr, space, assignments); + case pet_expr_call: + return call_expr_extract_pw_aff(expr, space, assignments); case pet_expr_cast: case pet_expr_double: assert(0); diff --git a/print.c b/print.c index 98124e4..17e7362 100644 --- a/print.c +++ b/print.c @@ -289,43 +289,27 @@ static int is_postfix(enum pet_op_type op) } } -/* Print "expr" to "p". - * - * If "outer" is set, then we are printing the outer expression statement. +static __isl_give isl_printer *print_pet_expr(__isl_take isl_printer *p, + struct pet_expr *expr, int outer, + __isl_keep isl_id_to_ast_expr *ref2expr); + +/* Print operation expression "expr" to "p". * * The access subexpressions are replaced by the isl_ast_expr * associated to its reference identifier in "ref2expr". */ -static __isl_give isl_printer *print_pet_expr(__isl_take isl_printer *p, - struct pet_expr *expr, int outer, - __isl_keep isl_id_to_ast_expr *ref2expr) +static __isl_give isl_printer *print_op(__isl_take isl_printer *p, + struct pet_expr *expr, __isl_keep isl_id_to_ast_expr *ref2expr) { - int i; - - switch (expr->type) { - case pet_expr_int: - p = isl_printer_print_val(p, expr->i); - break; - case pet_expr_double: - p = isl_printer_print_str(p, expr->d.s); - break; - case pet_expr_access: - p = print_access(p, expr, ref2expr); - break; - case pet_expr_unary: - if (!outer) - p = isl_printer_print_str(p, "("); + switch (expr->n_arg) { + case 1: if (!is_postfix(expr->op)) p = isl_printer_print_str(p, pet_op_str(expr->op)); p = print_pet_expr(p, expr->args[pet_un_arg], 0, ref2expr); if (is_postfix(expr->op)) p = isl_printer_print_str(p, pet_op_str(expr->op)); - if (!outer) - p = isl_printer_print_str(p, ")"); break; - case pet_expr_binary: - if (!outer) - p = isl_printer_print_str(p, "("); + case 2: p = print_pet_expr(p, expr->args[pet_bin_lhs], 0, ref2expr); p = isl_printer_print_str(p, " "); @@ -333,12 +317,8 @@ static __isl_give isl_printer *print_pet_expr(__isl_take isl_printer *p, p = isl_printer_print_str(p, " "); p = print_pet_expr(p, expr->args[pet_bin_rhs], 0, ref2expr); - if (!outer) - p = isl_printer_print_str(p, ")"); break; - case pet_expr_ternary: - if (!outer) - p = isl_printer_print_str(p, "("); + case 3: p = print_pet_expr(p, expr->args[pet_ter_cond], 0, ref2expr); p = isl_printer_print_str(p, " ? "); @@ -347,6 +327,39 @@ static __isl_give isl_printer *print_pet_expr(__isl_take isl_printer *p, p = isl_printer_print_str(p, " : "); p = print_pet_expr(p, expr->args[pet_ter_false], 0, ref2expr); + break; + } + + return p; +} + +/* Print "expr" to "p". + * + * If "outer" is set, then we are printing the outer expression statement. + * + * The access subexpressions are replaced by the isl_ast_expr + * associated to its reference identifier in "ref2expr". + */ +static __isl_give isl_printer *print_pet_expr(__isl_take isl_printer *p, + struct pet_expr *expr, int outer, + __isl_keep isl_id_to_ast_expr *ref2expr) +{ + int i; + + switch (expr->type) { + case pet_expr_int: + p = isl_printer_print_val(p, expr->i); + break; + case pet_expr_double: + p = isl_printer_print_str(p, expr->d.s); + break; + case pet_expr_access: + p = print_access(p, expr, ref2expr); + break; + case pet_expr_op: + if (!outer) + p = isl_printer_print_str(p, "("); + p = print_op(p, expr, ref2expr); if (!outer) p = isl_printer_print_str(p, ")"); break; diff --git a/scop.c b/scop.c index 3a01e6c..a59addd 100644 --- a/scop.c +++ b/scop.c @@ -47,9 +47,7 @@ static char *type_str[] = { [pet_expr_cast] = "cast", [pet_expr_double] = "double", [pet_expr_int] = "int", - [pet_expr_unary] = "unary", - [pet_expr_binary] = "binary", - [pet_expr_ternary] = "ternary" + [pet_expr_op] = "op", }; static char *op_str[] = { @@ -84,6 +82,7 @@ static char *op_str[] = { [pet_op_land] = "&&", [pet_op_lor] = "||", [pet_op_lnot] = "!", + [pet_op_cond] = "?:", [pet_op_assume] = "assume", [pet_op_kill] = "kill" }; @@ -291,7 +290,7 @@ struct pet_expr *pet_expr_new_unary(isl_ctx *ctx, enum pet_op_type op, if (!expr) goto error; - expr->type = pet_expr_unary; + expr->type = pet_expr_op; expr->op = op; expr->n_arg = 1; expr->args = isl_calloc_array(ctx, struct pet_expr *, 1); @@ -318,7 +317,7 @@ struct pet_expr *pet_expr_new_binary(isl_ctx *ctx, enum pet_op_type op, if (!expr) goto error; - expr->type = pet_expr_binary; + expr->type = pet_expr_op; expr->op = op; expr->n_arg = 2; expr->args = isl_calloc_array(ctx, struct pet_expr *, 2); @@ -347,7 +346,8 @@ struct pet_expr *pet_expr_new_ternary(isl_ctx *ctx, struct pet_expr *cond, if (!expr) goto error; - expr->type = pet_expr_ternary; + expr->type = pet_expr_op; + expr->op = pet_op_cond; expr->n_arg = 3; expr->args = isl_calloc_array(ctx, struct pet_expr *, 3); if (!expr->args) @@ -488,9 +488,7 @@ struct pet_expr *pet_expr_free(struct pet_expr *expr) case pet_expr_int: isl_val_free(expr->i); break; - case pet_expr_unary: - case pet_expr_binary: - case pet_expr_ternary: + case pet_expr_op: break; } @@ -529,20 +527,10 @@ static void expr_dump(struct pet_expr *expr, int indent) for (i = 0; i < expr->n_arg; ++i) expr_dump(expr->args[i], indent + 2); break; - case pet_expr_unary: + case pet_expr_op: fprintf(stderr, "%s\n", op_str[expr->op]); - expr_dump(expr->args[pet_un_arg], indent + 2); - break; - case pet_expr_binary: - fprintf(stderr, "%s\n", op_str[expr->op]); - expr_dump(expr->args[pet_bin_lhs], indent + 2); - expr_dump(expr->args[pet_bin_rhs], indent + 2); - break; - case pet_expr_ternary: - fprintf(stderr, "?:\n"); - expr_dump(expr->args[pet_ter_cond], indent + 2); - expr_dump(expr->args[pet_ter_true], indent + 2); - expr_dump(expr->args[pet_ter_false], indent + 2); + for (i = 0; i < expr->n_arg; ++i) + expr_dump(expr->args[i], indent + 2); break; case pet_expr_call: fprintf(stderr, "%s/%d\n", expr->name, expr->n_arg); @@ -685,9 +673,7 @@ int pet_expr_is_equal(struct pet_expr *expr1, struct pet_expr *expr2) expr2->acc.index)) return 0; break; - case pet_expr_unary: - case pet_expr_binary: - case pet_expr_ternary: + case pet_expr_op: if (expr1->op != expr2->op) return 0; break; @@ -1093,7 +1079,7 @@ static __isl_give isl_set *access_extract_context(__isl_keep isl_map *access, /* Update "context" with respect to the valid parameter values for "expr". * - * If "expr" represents a ternary operator, then a parameter value + * If "expr" represents a conditional operator, then a parameter value * needs to be valid for the condition and for at least one of the * remaining two arguments. * If the condition is an affine expression, then we can be a bit more specific. @@ -1105,7 +1091,7 @@ static __isl_give isl_set *expr_extract_context(struct pet_expr *expr, { int i; - if (expr->type == pet_expr_ternary) { + if (expr->type == pet_expr_op && expr->op == pet_op_cond) { int is_aff; isl_set *context1, *context2; @@ -3640,7 +3626,7 @@ int pet_stmt_is_assign(struct pet_stmt *stmt) { if (!stmt) return 0; - if (stmt->body->type != pet_expr_binary) + if (stmt->body->type != pet_expr_op) return 0; return stmt->body->op == pet_op_assign; } @@ -3651,7 +3637,7 @@ int pet_stmt_is_kill(struct pet_stmt *stmt) { if (!stmt) return 0; - if (stmt->body->type != pet_expr_unary) + if (stmt->body->type != pet_expr_op) return 0; return stmt->body->op == pet_op_kill; } @@ -3660,7 +3646,7 @@ int pet_stmt_is_kill(struct pet_stmt *stmt) */ int pet_stmt_is_assume(struct pet_stmt *stmt) { - if (stmt->body->type != pet_expr_unary) + if (stmt->body->type != pet_expr_op) return 0; return stmt->body->op == pet_op_assume; } diff --git a/tests/QR.scop b/tests/QR.scop index 55263ae..5dad58d 100644 --- a/tests/QR.scop +++ b/tests/QR.scop @@ -22,7 +22,7 @@ statements: domain: '[N, K] -> { S_0[j, i] : i >= j and j >= 0 and i <= -1 + N }' schedule: '[N] -> { S_0[j, i] -> [0, j, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -38,7 +38,7 @@ statements: 0 }' schedule: '[N, K] -> { S_1[k, j] -> [1, k, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -69,7 +69,7 @@ statements: reference: __pet_ref_3 read: 1 write: 0 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -78,7 +78,7 @@ statements: reference: __pet_ref_4 read: 0 write: 1 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -87,7 +87,7 @@ statements: reference: __pet_ref_5 read: 0 write: 1 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -122,7 +122,7 @@ statements: reference: __pet_ref_9 read: 1 write: 0 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -131,7 +131,7 @@ statements: reference: __pet_ref_10 read: 0 write: 1 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -140,7 +140,7 @@ statements: reference: __pet_ref_11 read: 0 write: 1 - - type: unary + - type: op operation: '&' arguments: - type: access diff --git a/tests/arg.scop b/tests/arg.scop index f805d7a..17f8f69 100644 --- a/tests/arg.scop +++ b/tests/arg.scop @@ -18,7 +18,7 @@ statements: type: call name: f arguments: - - type: unary + - type: op operation: '&' arguments: - type: access @@ -27,7 +27,7 @@ statements: reference: __pet_ref_0 read: 1 write: 0 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -43,7 +43,7 @@ statements: type: call name: f arguments: - - type: unary + - type: op operation: '&' arguments: - type: access @@ -52,7 +52,7 @@ statements: reference: __pet_ref_2 read: 1 write: 0 - - type: unary + - type: op operation: '&' arguments: - type: access diff --git a/tests/assume.scop b/tests/assume.scop index aa8bf5e..15011e5 100644 --- a/tests/assume.scop +++ b/tests/assume.scop @@ -12,7 +12,7 @@ statements: domain: '[S, n, m] -> { S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: unary + type: op operation: assume arguments: - type: access @@ -25,7 +25,7 @@ statements: domain: '[S, n, m] -> { S_1[i] : i <= -1 + n and i >= 0 }' schedule: '[n] -> { S_1[i] -> [1, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/decl.scop b/tests/autodetect/decl.scop index 0b9a674..d8313e0 100644 --- a/tests/autodetect/decl.scop +++ b/tests/autodetect/decl.scop @@ -21,7 +21,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [2, 0] }' body: - type: unary + type: op operation: kill arguments: - type: access @@ -49,7 +49,7 @@ statements: domain: '{ S_2[] }' schedule: '{ S_2[] -> [2, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -64,7 +64,7 @@ statements: domain: '{ S_3[] }' schedule: '{ S_3[] -> [3] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/if1.scop b/tests/autodetect/if1.scop index 6ab73e2..ac27b9f 100644 --- a/tests/autodetect/if1.scop +++ b/tests/autodetect/if1.scop @@ -11,7 +11,7 @@ statements: domain: '[a] -> { S_0[] : a >= 1 }' schedule: '{ S_0[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/if2.scop b/tests/autodetect/if2.scop index 2786f77..eb3ad5f 100644 --- a/tests/autodetect/if2.scop +++ b/tests/autodetect/if2.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/if3.scop b/tests/autodetect/if3.scop index cf4e81f..81013b4 100644 --- a/tests/autodetect/if3.scop +++ b/tests/autodetect/if3.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/loop1.scop b/tests/autodetect/loop1.scop index b6ce3fe..0048470 100644 --- a/tests/autodetect/loop1.scop +++ b/tests/autodetect/loop1.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/loop2.scop b/tests/autodetect/loop2.scop index b6ce3fe..0048470 100644 --- a/tests/autodetect/loop2.scop +++ b/tests/autodetect/loop2.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/loop3.scop b/tests/autodetect/loop3.scop index 7210747..ffa46a7 100644 --- a/tests/autodetect/loop3.scop +++ b/tests/autodetect/loop3.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/loop4.scop b/tests/autodetect/loop4.scop index c6dcb8b..644dbdf 100644 --- a/tests/autodetect/loop4.scop +++ b/tests/autodetect/loop4.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[t] : t >= 0 }' schedule: '{ S_0[t] -> [1, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/loop5.scop b/tests/autodetect/loop5.scop index 9547bbc..5cf263e 100644 --- a/tests/autodetect/loop5.scop +++ b/tests/autodetect/loop5.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/scalar.scop b/tests/autodetect/scalar.scop index 1fb01f7..18e0d6d 100644 --- a/tests/autodetect/scalar.scop +++ b/tests/autodetect/scalar.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/autodetect/while.scop b/tests/autodetect/while.scop index 489adfd..57ef8c0 100644 --- a/tests/autodetect/while.scop +++ b/tests/autodetect/while.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/boolean.scop b/tests/boolean.scop index 8c17c96..aac5788 100644 --- a/tests/boolean.scop +++ b/tests/boolean.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -20,10 +20,10 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: '||' arguments: - - type: binary + - type: op operation: '&&' arguments: - type: access @@ -38,7 +38,7 @@ statements: reference: __pet_ref_2 read: 1 write: 0 - - type: unary + - type: op operation: '!' arguments: - type: access diff --git a/tests/break.scop b/tests/break.scop index b69caa5..d9e4faf 100644 --- a/tests/break.scop +++ b/tests/break.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= i }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -27,7 +27,7 @@ statements: }' schedule: '{ S_1[i, j] -> [0, i, j, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/break2.scop b/tests/break2.scop index af20674..6c79234 100644 --- a/tests/break2.scop +++ b/tests/break2.scop @@ -12,7 +12,7 @@ statements: (i >= 0 and i <= 9 and j >= 0 and j <= 99 and j >= 1 + i) }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -28,7 +28,7 @@ statements: i }' schedule: '{ S_1[i, j] -> [0, i, j, 3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -37,7 +37,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/break3.scop b/tests/break3.scop index c5dbf04..dc2a5cf 100644 --- a/tests/break3.scop +++ b/tests/break3.scop @@ -17,7 +17,7 @@ statements: domain: '{ [S_0[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -39,7 +39,7 @@ statements: domain: '{ [S_1[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_1[i, j] -> [0, i, j, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -61,7 +61,7 @@ statements: domain: '{ [S_2[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_2[i, j] -> [0, i, j, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -70,7 +70,7 @@ statements: reference: __pet_ref_5 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/break4.scop b/tests/break4.scop index da51e0e..853275f 100644 --- a/tests/break4.scop +++ b/tests/break4.scop @@ -89,7 +89,7 @@ statements: domain: '{ [S_0[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -111,7 +111,7 @@ statements: domain: '{ [S_1[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 81 and j <= 99 }' schedule: '{ S_1[i, j] -> [0, i, j, 1, 0, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -133,7 +133,7 @@ statements: domain: '{ [S_2[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_2[i, j] -> [0, i, j, 1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -142,7 +142,8 @@ statements: reference: __pet_ref_5 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_2[i, j] -> [1] : j >= 81; S_2[i, j] -> [0] : j <= 80 }' @@ -173,7 +174,7 @@ statements: domain: '{ [S_3[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_3[i, j] -> [0, i, j, 2, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -202,7 +203,7 @@ statements: }' schedule: '{ S_4[i, j] -> [0, i, j, 2, 0, 1, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -237,7 +238,7 @@ statements: 99 }' schedule: '{ S_5[i, j] -> [0, i, j, 2, 0, 1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -278,7 +279,7 @@ statements: 99 }' schedule: '{ S_6[i, j] -> [0, i, j, 2, 0, 1, 2, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -319,7 +320,7 @@ statements: <= 99 }' schedule: '{ S_7[i, j] -> [0, i, j, 2, 0, 1, 2, 0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -366,7 +367,7 @@ statements: }' schedule: '{ S_8[i, j] -> [0, i, j, 2, 0, 1, 2, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -375,7 +376,8 @@ statements: reference: __pet_ref_35 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_8[i, j] -> __pet_test_2[i, j] }' @@ -426,7 +428,7 @@ statements: 99 }' schedule: '{ S_9[i, j] -> [0, i, j, 2, 0, 1, 3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -466,7 +468,7 @@ statements: domain: '{ [S_10[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_10[i, j] -> [0, i, j, 2, 0, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -475,7 +477,8 @@ statements: reference: __pet_ref_47 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_10[i, j] -> __pet_test_5[i, j] }' @@ -519,7 +522,7 @@ statements: domain: '{ [S_11[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_11[i, j] -> [0, i, j, 2, 0, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -528,7 +531,8 @@ statements: reference: __pet_ref_54 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_11[i, j] -> __pet_test_5[i, j] }' @@ -572,7 +576,7 @@ statements: domain: '{ [S_12[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_12[i, j] -> [0, i, j, 2, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -581,7 +585,8 @@ statements: reference: __pet_ref_60 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_12[i, j] -> __pet_test_1[i, j] }' @@ -619,7 +624,7 @@ statements: domain: '{ [S_13[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_13[i, j] -> [0, i, j, 2, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -628,7 +633,8 @@ statements: reference: __pet_ref_66 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_13[i, j] -> __pet_test_1[i, j] }' @@ -666,7 +672,7 @@ statements: domain: '{ [S_14[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_14[i, j] -> [0, i, j, 3, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -694,7 +700,7 @@ statements: domain: '{ [S_15[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_15[i, j] -> [0, i, j, 3, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -703,7 +709,8 @@ statements: reference: __pet_ref_75 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_15[i, j] -> __pet_test_8[i, j] }' @@ -741,7 +748,7 @@ statements: domain: '{ [S_16[i, j] -> [0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_16[i, j] -> [0, i, j, 3, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -750,7 +757,8 @@ statements: reference: __pet_ref_81 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_16[i, j] -> __pet_test_9[i, j] }' @@ -788,7 +796,7 @@ statements: domain: '{ [S_17[i, j] -> [0, 0]] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_17[i, j] -> [0, i, j, 4] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -797,7 +805,7 @@ statements: reference: __pet_ref_88 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/break5.scop b/tests/break5.scop index bbd03c8..94c6fee 100644 --- a/tests/break5.scop +++ b/tests/break5.scop @@ -14,7 +14,7 @@ statements: 0] : i >= 0 and i <= 99 }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: -1 + i and j >= 1; S_1[i, 0] : i >= 10 and i <= 99 }' schedule: '{ S_1[i, j] -> [0, i, j, 5] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -39,7 +39,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/cast.scop b/tests/cast.scop index 789c7c1..5497160 100644 --- a/tests/cast.scop +++ b/tests/cast.scop @@ -15,7 +15,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/ceild.scop b/tests/ceild.scop index eb4c7e9..70fa73c 100644 --- a/tests/ceild.scop +++ b/tests/ceild.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : 2i <= -2 + N and 3i >= N }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/conditional_assignment.scop b/tests/conditional_assignment.scop index a05366a..118b17c 100644 --- a/tests/conditional_assignment.scop +++ b/tests/conditional_assignment.scop @@ -31,7 +31,7 @@ statements: domain: '[N, M] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -40,7 +40,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access @@ -56,7 +56,7 @@ statements: 0 }' schedule: '[M, N] -> { S_1[i, j] -> [0, i, 1, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -109,7 +109,7 @@ statements: domain: '[N, M] -> { S_3[] }' schedule: '{ S_3[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -124,7 +124,7 @@ statements: domain: '[N, M] -> { S_4[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_4[i] -> [2, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -133,7 +133,8 @@ statements: reference: __pet_ref_8 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '[N, M] -> { [S_4[i] -> [i1]] -> [1] : i1 >= -i and i1 <= -1 + N diff --git a/tests/conditional_assignment2.scop b/tests/conditional_assignment2.scop index b5f3037..8b4bdff 100644 --- a/tests/conditional_assignment2.scop +++ b/tests/conditional_assignment2.scop @@ -31,7 +31,7 @@ statements: domain: '[N, M] -> { S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -46,7 +46,7 @@ statements: domain: '[N, M] -> { S_1[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_1[i] -> [1, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -55,7 +55,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access @@ -71,7 +71,7 @@ statements: 0 }' schedule: '[M, N] -> { S_2[i, j] -> [1, i, 1, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -124,7 +124,7 @@ statements: domain: '[N, M] -> { S_4[] }' schedule: '{ S_4[] -> [2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -139,7 +139,7 @@ statements: domain: '[N, M] -> { S_5[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_5[i] -> [3, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -148,7 +148,8 @@ statements: reference: __pet_ref_9 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '[N, M] -> { [S_5[i] -> [i1]] -> [1] : i1 >= -i and i1 <= -1 + N diff --git a/tests/continue.scop b/tests/continue.scop index 230bbe9..fa94bdd 100644 --- a/tests/continue.scop +++ b/tests/continue.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[i, j] : i >= 0 and i <= 99 and j >= 0 and j <= 99 }' schedule: '{ S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -27,7 +27,7 @@ statements: or (i >= 0 and i <= 99 and j >= 0 and j <= 99 and j <= -1 + i) }' schedule: '{ S_1[i, j] -> [0, i, j, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/continue2.scop b/tests/continue2.scop index 30491e3..5e422e9 100644 --- a/tests/continue2.scop +++ b/tests/continue2.scop @@ -39,7 +39,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 59 }' schedule: '{ S_0[i] -> [0, i, 0, 0, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -48,7 +48,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: '>' arguments: - type: access @@ -63,7 +63,7 @@ statements: domain: '{ [S_1[i] -> [1]] : i >= 0 and i <= 59 }' schedule: '{ S_1[i] -> [0, i, 0, 0, 0, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -85,7 +85,7 @@ statements: domain: '{ [S_2[i] -> [1]] : i >= 0 and i <= 59 }' schedule: '{ S_2[i] -> [0, i, 0, 0, 0, 1, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -94,7 +94,7 @@ statements: reference: __pet_ref_5 read: 0 write: 1 - - type: binary + - type: op operation: == arguments: - type: access @@ -116,7 +116,7 @@ statements: domain: '{ [S_3[i] -> [1, 0]] : i >= 0 and i <= 59 }' schedule: '{ S_3[i] -> [0, i, 0, 0, 0, 1, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -148,7 +148,7 @@ statements: domain: '{ [S_4[i] -> [0]] : i >= 0 and i <= 59 }' schedule: '{ S_4[i] -> [0, i, 0, 0, 0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -170,7 +170,7 @@ statements: domain: '{ S_5[i] : i >= 0 and i <= 59 }' schedule: '{ S_5[i] -> [0, i, 0, 0, 0, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -179,7 +179,8 @@ statements: reference: __pet_ref_13 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_5[i] -> __pet_test_1[i] }' @@ -210,7 +211,7 @@ statements: domain: '{ [S_6[i] -> [0]] : i >= 0 and i <= 59 }' schedule: '{ S_6[i] -> [0, i, 0, 0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -232,7 +233,7 @@ statements: domain: '{ S_7[i] : i >= 60 and i <= 99 }' schedule: '{ S_7[i] -> [0, i, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -251,7 +252,7 @@ statements: domain: '{ S_8[i] : i >= 0 and i <= 99 }' schedule: '{ S_8[i] -> [0, i, 0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -260,7 +261,8 @@ statements: reference: __pet_ref_22 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_8[i] -> [1] : i <= 59; S_8[i] -> [0] : i >= 60 }' @@ -284,7 +286,7 @@ statements: domain: '{ [S_9[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_9[i] -> [0, i, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -306,7 +308,7 @@ statements: domain: '{ [S_10[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_10[i] -> [0, i, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -315,7 +317,7 @@ statements: reference: __pet_ref_29 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/continue3.scop b/tests/continue3.scop index 5a23cdb..66ba9f3 100644 --- a/tests/continue3.scop +++ b/tests/continue3.scop @@ -33,7 +33,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 99 }' schedule: '{ S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -48,7 +48,7 @@ statements: domain: '{ S_1[i] : i >= 0 and i <= 99 }' schedule: '{ S_1[i] -> [0, i, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -57,7 +57,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: == arguments: - type: access @@ -72,7 +72,7 @@ statements: domain: '{ [S_2[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_2[i] -> [0, i, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -98,7 +98,7 @@ statements: domain: '{ [S_3[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_3[i] -> [0, i, 3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -120,7 +120,7 @@ statements: domain: '{ [S_4[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_4[i] -> [0, i, 4, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -129,7 +129,7 @@ statements: reference: __pet_ref_9 read: 0 write: 1 - - type: binary + - type: op operation: == arguments: - type: access @@ -151,7 +151,7 @@ statements: domain: '{ S_5[i] : i >= 0 and i <= 99 }' schedule: '{ S_5[i] -> [0, i, 4, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -160,7 +160,8 @@ statements: reference: __pet_ref_11 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_5[i] -> __pet_test_0[i] }' @@ -191,7 +192,7 @@ statements: domain: '{ [S_6[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_6[i] -> [0, i, 5] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -200,7 +201,7 @@ statements: reference: __pet_ref_17 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/continue4.scop b/tests/continue4.scop index 39c6533..1d2fe12 100644 --- a/tests/continue4.scop +++ b/tests/continue4.scop @@ -27,7 +27,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 99 }' schedule: '{ S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -42,7 +42,7 @@ statements: domain: '{ S_1[i] : i >= 0 and i <= 99 }' schedule: '{ S_1[i] -> [0, i, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -51,7 +51,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: == arguments: - type: access @@ -66,7 +66,7 @@ statements: domain: '{ [S_2[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_2[i] -> [0, i, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -92,7 +92,7 @@ statements: domain: '{ [S_3[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_3[i] -> [0, i, 3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -114,7 +114,7 @@ statements: domain: '{ S_4[i] : i >= 0 and i <= 99 }' schedule: '{ S_4[i] -> [0, i, 4, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -123,7 +123,8 @@ statements: reference: __pet_ref_8 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_4[i] -> __pet_test_0[i] }' @@ -157,7 +158,7 @@ statements: domain: '{ [S_5[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_5[i] -> [0, i, 5] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -166,7 +167,7 @@ statements: reference: __pet_ref_14 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/continue5.scop b/tests/continue5.scop index 5997835..73ba050 100644 --- a/tests/continue5.scop +++ b/tests/continue5.scop @@ -27,7 +27,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 99 }' schedule: '{ S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -42,7 +42,7 @@ statements: domain: '{ S_1[i] : (i >= 0 and i <= 56) or (i >= 58 and i <= 99) }' schedule: '{ S_1[i] -> [0, i, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -61,7 +61,7 @@ statements: domain: '{ S_2[i] : (i >= 0 and i <= 56) or (i >= 58 and i <= 99) }' schedule: '{ S_2[i] -> [0, i, 3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -76,7 +76,7 @@ statements: domain: '{ S_3[i] : (i >= 0 and i <= 56) or (i >= 58 and i <= 99) }' schedule: '{ S_3[i] -> [0, i, 4, 0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -85,7 +85,7 @@ statements: reference: __pet_ref_4 read: 0 write: 1 - - type: binary + - type: op operation: == arguments: - type: access @@ -100,7 +100,7 @@ statements: domain: '{ S_4[i] : i >= 0 and i <= 99 }' schedule: '{ S_4[i] -> [0, i, 4, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -109,7 +109,8 @@ statements: reference: __pet_ref_6 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_4[i] -> [0] : i >= 58 or i <= 56; S_4[57] -> [1] }' @@ -133,7 +134,7 @@ statements: domain: '{ [S_5[i] -> [0]] : i >= 0 and i <= 99 }' schedule: '{ S_5[i] -> [0, i, 5] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -142,7 +143,7 @@ statements: reference: __pet_ref_11 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/cuervo.scop b/tests/cuervo.scop index be49d65..b9d6120 100644 --- a/tests/cuervo.scop +++ b/tests/cuervo.scop @@ -20,7 +20,7 @@ statements: domain: '[n, m] -> { S_0[i, j] : i >= 0 and j <= m and j >= 0 and i <= n }' schedule: '[m, n] -> { S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -29,7 +29,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access @@ -38,7 +38,7 @@ statements: reference: __pet_ref_1 read: 1 write: 0 - - type: binary + - type: op operation: '*' arguments: - type: access diff --git a/tests/data_dependent.scop b/tests/data_dependent.scop index 5b07de1..71b3bcc 100644 --- a/tests/data_dependent.scop +++ b/tests/data_dependent.scop @@ -30,7 +30,7 @@ statements: domain: '[N, M] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -39,7 +39,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access @@ -55,7 +55,7 @@ statements: 0 }' schedule: '[M, N] -> { S_1[i, j] -> [0, i, 1, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -108,7 +108,7 @@ statements: domain: '[N, M] -> { S_3[] }' schedule: '{ S_3[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -123,7 +123,7 @@ statements: domain: '[N, M] -> { S_4[i] : i <= -3 + N and i >= 0 }' schedule: '[N] -> { S_4[i] -> [2, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/data_dependent2.scop b/tests/data_dependent2.scop index 3327f18..72a2e3c 100644 --- a/tests/data_dependent2.scop +++ b/tests/data_dependent2.scop @@ -21,7 +21,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: domain: '{ S_1[i] : i >= 0 and i <= 9 }' schedule: '{ S_1[i] -> [1, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -45,7 +45,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: <= arguments: - type: access @@ -60,7 +60,7 @@ statements: domain: '{ [S_2[i, j] -> [1]] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }' schedule: '{ S_2[i, j] -> [1, i, 1, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -69,10 +69,10 @@ statements: reference: __pet_ref_4 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - - type: binary + - type: op operation: + arguments: - type: int @@ -100,7 +100,7 @@ statements: domain: '{ [S_3[i, j] -> [1]] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }' schedule: '{ S_3[i, j] -> [1, i, 1, j, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/dec.scop b/tests/dec.scop index bf5040c..bf73783 100644 --- a/tests/dec.scop +++ b/tests/dec.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/dec2.scop b/tests/dec2.scop index d9a5373..f2de269 100644 --- a/tests/dec2.scop +++ b/tests/dec2.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/dec3.scop b/tests/dec3.scop index 56548e7..782461d 100644 --- a/tests/dec3.scop +++ b/tests/dec3.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/dec4.scop b/tests/dec4.scop index 98fbab3..72287bf 100644 --- a/tests/dec4.scop +++ b/tests/dec4.scop @@ -12,7 +12,7 @@ statements: and i <= -1 + N and i >= 0) }' schedule: '[N] -> { S_0[i] -> [0, -i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/decl.scop b/tests/decl.scop index a08fb7a..60a7d64 100644 --- a/tests/decl.scop +++ b/tests/decl.scop @@ -26,7 +26,7 @@ statements: >= 0 }' schedule: '[N, M] -> { S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -42,7 +42,7 @@ statements: j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_1[i, j, k] -> [0, i, j, 1, k, 0, 0] }' body: - type: unary + type: op operation: kill arguments: - type: access @@ -56,7 +56,7 @@ statements: j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_2[i, j, k] -> [0, i, j, 1, k, 0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -65,7 +65,7 @@ statements: reference: __pet_ref_2 read: 0 write: 1 - - type: binary + - type: op operation: '*' arguments: - type: access @@ -85,7 +85,7 @@ statements: j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_4[i, j, k] -> [0, i, j, 1, k, 1] }' body: - type: binary + type: op operation: += arguments: - type: access @@ -105,7 +105,7 @@ statements: j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_3[i, j, k] -> [0, i, j, 1, k, 2] }' body: - type: unary + type: op operation: kill arguments: - type: access diff --git a/tests/div_mod.scop b/tests/div_mod.scop index edac5dc..9d2c4b2 100644 --- a/tests/div_mod.scop +++ b/tests/div_mod.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[-2] }' schedule: '{ S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -20,12 +20,12 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: / arguments: - type: int value: 5 - - type: unary + - type: op operation: '-' arguments: - type: int @@ -34,7 +34,7 @@ statements: domain: '{ S_1[2] }' schedule: '{ S_1[i] -> [0, i, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -43,15 +43,15 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: binary + - type: op operation: / arguments: - - type: unary + - type: op operation: '-' arguments: - type: int value: 5 - - type: unary + - type: op operation: '-' arguments: - type: int @@ -60,7 +60,7 @@ statements: domain: '{ S_2[1] }' schedule: '{ S_2[i] -> [0, i, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -69,12 +69,12 @@ statements: reference: __pet_ref_2 read: 0 write: 1 - - type: binary + - type: op operation: '%' arguments: - type: int value: 5 - - type: unary + - type: op operation: '-' arguments: - type: int @@ -83,7 +83,7 @@ statements: domain: '{ S_3[-1] }' schedule: '{ S_3[i] -> [0, i, 3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -92,15 +92,15 @@ statements: reference: __pet_ref_3 read: 0 write: 1 - - type: binary + - type: op operation: '%' arguments: - - type: unary + - type: op operation: '-' arguments: - type: int value: 5 - - type: unary + - type: op operation: '-' arguments: - type: int diff --git a/tests/dynamic_bound.scop b/tests/dynamic_bound.scop index cf7bb79..25d1f23 100644 --- a/tests/dynamic_bound.scop +++ b/tests/dynamic_bound.scop @@ -21,7 +21,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -52,7 +52,7 @@ statements: j }' schedule: '{ S_4[i, j] -> [2, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -61,7 +61,7 @@ statements: reference: __pet_ref_4 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/dynamic_condition.scop b/tests/dynamic_condition.scop index 937dc9f..3d9cdae 100644 --- a/tests/dynamic_condition.scop +++ b/tests/dynamic_condition.scop @@ -15,7 +15,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 99 }' schedule: '{ S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: domain: '{ [S_3[i] -> [j]] : i >= 0 and i <= 99 and j >= 0 and j <= 1 }' schedule: '{ S_3[i] -> [0, i, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/empty_domain.scop b/tests/empty_domain.scop index c42c594..f5028d7 100644 --- a/tests/empty_domain.scop +++ b/tests/empty_domain.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : 1 = 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/filter.scop b/tests/filter.scop index b144e27..e1c9c72 100644 --- a/tests/filter.scop +++ b/tests/filter.scop @@ -15,7 +15,7 @@ statements: domain: '{ [S_1[] -> [test]] : test <= -1 or test >= 1 }' schedule: '{ S_1[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/filter2.scop b/tests/filter2.scop index cedb2d7..13a6b6d 100644 --- a/tests/filter2.scop +++ b/tests/filter2.scop @@ -21,7 +21,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -47,7 +47,7 @@ statements: domain: '{ [S_1[] -> [1]] }' schedule: '{ S_1[] -> [0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/filter3.scop b/tests/filter3.scop index 8f75bd1..a375107 100644 --- a/tests/filter3.scop +++ b/tests/filter3.scop @@ -21,7 +21,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -62,7 +62,7 @@ statements: domain: '{ [S_2[] -> [1]] }' schedule: '{ S_2[] -> [1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/float.scop b/tests/float.scop index 56e213a..548c76a 100644 --- a/tests/float.scop +++ b/tests/float.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -27,7 +27,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/floord.scop b/tests/floord.scop index ea4d018..abb5e02 100644 --- a/tests/floord.scop +++ b/tests/floord.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : 2i <= -2 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/floord2.scop b/tests/floord2.scop index 1666195..4582db1 100644 --- a/tests/floord2.scop +++ b/tests/floord2.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : 2i <= -2 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/for_while.scop b/tests/for_while.scop index 600bc91..454d24d 100644 --- a/tests/for_while.scop +++ b/tests/for_while.scop @@ -17,7 +17,7 @@ statements: domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -32,7 +32,7 @@ statements: domain: '[n] -> { [S_1[x1, x2] -> [1]] : x1 <= -1 + n and x1 >= 0 and x2 >= 0 }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, x2, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -67,7 +67,7 @@ statements: domain: '[n] -> { [S2[x1, x2] -> [1]] : x1 <= -1 + n and x1 >= 0 and x2 >= 0 }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, x2, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/for_while_dec.scop b/tests/for_while_dec.scop index 6f20e84..8530d97 100644 --- a/tests/for_while_dec.scop +++ b/tests/for_while_dec.scop @@ -18,7 +18,7 @@ statements: domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -34,7 +34,7 @@ statements: x1 <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -70,7 +70,7 @@ statements: x1 <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, -x2, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/for_while_inc.scop b/tests/for_while_inc.scop index 5df6fca..833a8df 100644 --- a/tests/for_while_inc.scop +++ b/tests/for_while_inc.scop @@ -18,7 +18,7 @@ statements: domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -34,7 +34,7 @@ statements: -1 + x2 and x1 <= -1 + n and x1 >= 0 and x2 >= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, x2, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -70,7 +70,7 @@ statements: + x2 and x1 <= -1 + n and x1 >= 0 and x2 >= 9) }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, x2, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/for_while_overflow.scop b/tests/for_while_overflow.scop index 68a4019..598f880 100644 --- a/tests/for_while_overflow.scop +++ b/tests/for_while_overflow.scop @@ -17,7 +17,7 @@ statements: domain: '[N] -> { S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -32,7 +32,7 @@ statements: domain: '[N] -> { [S_1[T] -> [1]] : T >= 0 }' schedule: '{ S_1[T] -> [1, T, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -55,7 +55,7 @@ statements: i <= -1 + 2N }' schedule: '[N] -> { S_2[T, i] -> [1, T, 1, 0, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -64,7 +64,7 @@ statements: reference: __pet_ref_4 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/for_while_unsigned.scop b/tests/for_while_unsigned.scop index f77f311..ff69ff4 100644 --- a/tests/for_while_unsigned.scop +++ b/tests/for_while_unsigned.scop @@ -18,7 +18,7 @@ statements: domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -34,7 +34,7 @@ statements: x1 <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -71,7 +71,7 @@ statements: x1 <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S2[x1, x2] -> [0, x1, 1, -x2, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/for_while_unsigned2.scop b/tests/for_while_unsigned2.scop index 9a02e5b..6073025 100644 --- a/tests/for_while_unsigned2.scop +++ b/tests/for_while_unsigned2.scop @@ -22,7 +22,7 @@ statements: domain: '[n] -> { S1[x1] : x1 <= -1 + n and x1 >= 0 }' schedule: '[n] -> { S1[x1] -> [0, x1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -38,7 +38,7 @@ statements: x1 <= -1 + n and x1 >= 0 and x2 <= 9) }' schedule: '[n] -> { S_1[x1, x2] -> [0, x1, 1, -x2, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -76,7 +76,7 @@ statements: 9 and 256e0 >= -x2 + x3 and 256e0 <= 255 - x2 and 256e0 >= -x2) }' schedule: '[n] -> { S2[x1, x2, x3] -> [0, x1, 1, -x2, 1, 0, x3] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -88,7 +88,7 @@ statements: - type: call name: g arguments: - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/forward_substitution1.scop b/tests/forward_substitution1.scop index 079938a..b00c90b 100644 --- a/tests/forward_substitution1.scop +++ b/tests/forward_substitution1.scop @@ -19,7 +19,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -34,7 +34,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -53,7 +53,7 @@ statements: domain: '{ S_2[] }' schedule: '{ S_2[] -> [2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -68,7 +68,7 @@ statements: domain: '{ S_3[] }' schedule: '{ S_3[] -> [3] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/forward_substitution2.scop b/tests/forward_substitution2.scop index 5a14ef5..f6945b1 100644 --- a/tests/forward_substitution2.scop +++ b/tests/forward_substitution2.scop @@ -19,7 +19,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -38,7 +38,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -53,7 +53,7 @@ statements: domain: '{ S_2[] }' schedule: '{ S_2[] -> [2] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/forward_substitution3.scop b/tests/forward_substitution3.scop index 0b37610..442b4f3 100644 --- a/tests/forward_substitution3.scop +++ b/tests/forward_substitution3.scop @@ -23,7 +23,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0, 0] }' body: - type: unary + type: op operation: kill arguments: - type: access @@ -36,7 +36,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [0, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -51,7 +51,7 @@ statements: domain: '{ S_2[] }' schedule: '{ S_2[] -> [1, 0] }' body: - type: unary + type: op operation: kill arguments: - type: access @@ -64,7 +64,7 @@ statements: domain: '{ S_3[] }' schedule: '{ S_3[] -> [1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -83,7 +83,7 @@ statements: domain: '{ S_4[] }' schedule: '{ S_4[] -> [2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -98,7 +98,7 @@ statements: domain: '{ S_5[] }' schedule: '{ S_5[] -> [3] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/forward_substitution5.scop b/tests/forward_substitution5.scop index f2bf613..8908b85 100644 --- a/tests/forward_substitution5.scop +++ b/tests/forward_substitution5.scop @@ -19,7 +19,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -38,7 +38,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: binary + type: op operation: += arguments: - type: access @@ -53,7 +53,7 @@ statements: domain: '{ S_2[] }' schedule: '{ S_2[] -> [2] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/generic_condition.scop b/tests/generic_condition.scop index 03d3b5c..ff5f366 100644 --- a/tests/generic_condition.scop +++ b/tests/generic_condition.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : N <= -1 and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/generic_condition2.scop b/tests/generic_condition2.scop index 9a6272a..f878861 100644 --- a/tests/generic_condition2.scop +++ b/tests/generic_condition2.scop @@ -13,7 +13,7 @@ statements: or (i >= 0 and i <= 2 and j >= i and j <= 0) }' schedule: '{ S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/implicit_condition.scop b/tests/implicit_condition.scop index 068119f..ec96866 100644 --- a/tests/implicit_condition.scop +++ b/tests/implicit_condition.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 1 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inc.scop b/tests/inc.scop index c412007..4a94f5e 100644 --- a/tests/inc.scop +++ b/tests/inc.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inc2.scop b/tests/inc2.scop index 1e5edc4..5a3eceb 100644 --- a/tests/inc2.scop +++ b/tests/inc2.scop @@ -12,7 +12,7 @@ statements: i >= 0) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inc3.scop b/tests/inc3.scop index 5075ee6..1d3aa70 100644 --- a/tests/inc3.scop +++ b/tests/inc3.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inc4.scop b/tests/inc4.scop index e9323de..6e35105 100644 --- a/tests/inc4.scop +++ b/tests/inc4.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inf.scop b/tests/inf.scop index df48231..7d59da6 100644 --- a/tests/inf.scop +++ b/tests/inf.scop @@ -15,7 +15,7 @@ statements: domain: '[N] -> { S_0[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[t, j] -> [0, t, 0, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: domain: '[N] -> { S_1[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[t, j] -> [0, t, 1, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inf2.scop b/tests/inf2.scop index 0c5c289..a6644ec 100644 --- a/tests/inf2.scop +++ b/tests/inf2.scop @@ -15,7 +15,7 @@ statements: domain: '[N] -> { S_0[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[t, j] -> [0, t, 0, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: domain: '[N] -> { S_1[t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[t, j] -> [0, t, 1, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/inf3.scop b/tests/inf3.scop index a3dbdc9..7907575 100644 --- a/tests/inf3.scop +++ b/tests/inf3.scop @@ -15,7 +15,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: domain: '{ S_1[t] : t >= 0 }' schedule: '{ S_1[t] -> [1, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -52,7 +52,7 @@ statements: domain: '{ S_2[t] : t >= 0 }' schedule: '{ S_2[t] -> [1, t, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/iterator_declaration.scop b/tests/iterator_declaration.scop index 6d3718f..1ea8eb4 100644 --- a/tests/iterator_declaration.scop +++ b/tests/iterator_declaration.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/label.scop b/tests/label.scop index d4033b5..3e08424 100644 --- a/tests/label.scop +++ b/tests/label.scop @@ -11,7 +11,7 @@ statements: domain: '{ A[] }' schedule: '{ A[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -26,7 +26,7 @@ statements: domain: '{ B[] }' schedule: '{ B[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop.scop b/tests/loop.scop index 51e475b..cc21c83 100644 --- a/tests/loop.scop +++ b/tests/loop.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 9 }' schedule: '{ S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop2.scop b/tests/loop2.scop index 13dd186..1e8023b 100644 --- a/tests/loop2.scop +++ b/tests/loop2.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[i] : (i >= 0 and i <= 4) or (i >= 6 and i <= 9) }' schedule: '{ S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop3.scop b/tests/loop3.scop index ace793b..378d7fc 100644 --- a/tests/loop3.scop +++ b/tests/loop3.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[i] : (i >= 7 and i <= 9) or (i >= 0 and i <= 4) }' schedule: '{ S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop4.scop b/tests/loop4.scop index ecfd079..2e99216 100644 --- a/tests/loop4.scop +++ b/tests/loop4.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[i] : i >= 5 and i <= 6 }' schedule: '{ S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop5.scop b/tests/loop5.scop index 05e8afb..9ac4879 100644 --- a/tests/loop5.scop +++ b/tests/loop5.scop @@ -12,7 +12,7 @@ statements: domain: '[n, m] -> { S_0[i] : i <= m and i >= n }' schedule: '[n, m] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop_body.scop b/tests/loop_body.scop index ff935fa..de170d6 100644 --- a/tests/loop_body.scop +++ b/tests/loop_body.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/loop_body2.scop b/tests/loop_body2.scop index f12d463..a6de375 100644 --- a/tests/loop_body2.scop +++ b/tests/loop_body2.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/matmul.scop b/tests/matmul.scop index 6174e29..56ae5f2 100644 --- a/tests/matmul.scop +++ b/tests/matmul.scop @@ -22,7 +22,7 @@ statements: >= 0 }' schedule: '[N, M] -> { S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -38,7 +38,7 @@ statements: j >= 0 and i <= -1 + M and i >= 0 }' schedule: '[K, N, M] -> { S_1[i, j, k] -> [0, i, j, 1, k] }' body: - type: binary + type: op operation: += arguments: - type: access @@ -47,7 +47,7 @@ statements: reference: __pet_ref_1 read: 1 write: 1 - - type: binary + - type: op operation: '*' arguments: - type: access diff --git a/tests/max.scop b/tests/max.scop index d80aa05..bf88c65 100644 --- a/tests/max.scop +++ b/tests/max.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i >= 0 and i >= -10 + N and i <= -1 + N }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/min.scop b/tests/min.scop index f23467c..4c3feed 100644 --- a/tests/min.scop +++ b/tests/min.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 and i <= -11 + 2N }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/min2.scop b/tests/min2.scop index b59966a..75590a5 100644 --- a/tests/min2.scop +++ b/tests/min2.scop @@ -12,7 +12,7 @@ statements: i >= 0 and i <= -1 + N) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/mod.scop b/tests/mod.scop index 73b145c..e711625 100644 --- a/tests/mod.scop +++ b/tests/mod.scop @@ -12,7 +12,7 @@ statements: i >= 0) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/mod2.scop b/tests/mod2.scop index 27447d2..062b3f1 100644 --- a/tests/mod2.scop +++ b/tests/mod2.scop @@ -12,7 +12,7 @@ statements: i >= 0) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -21,7 +21,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: '%' arguments: - type: access diff --git a/tests/omega.scop b/tests/omega.scop index eaa6472..24721c7 100644 --- a/tests/omega.scop +++ b/tests/omega.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i] : 2i <= -2 + N and 3i >= N }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/piecewise.scop b/tests/piecewise.scop index 97524a9..bfaee0d 100644 --- a/tests/piecewise.scop +++ b/tests/piecewise.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/piecewise2.scop b/tests/piecewise2.scop index cd46d70..a6b350b 100644 --- a/tests/piecewise2.scop +++ b/tests/piecewise2.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/propagate.scop b/tests/propagate.scop index 7773cc0..6b800c3 100644 --- a/tests/propagate.scop +++ b/tests/propagate.scop @@ -15,7 +15,7 @@ statements: domain: '[N] -> { S_0[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, j] -> [0, i, j, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -24,7 +24,8 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '[N] -> { S_0[i, j] -> [1] : i >= 1; S_0[0, j] -> [0] }' @@ -32,7 +33,7 @@ statements: reference: __pet_ref_1 read: 1 write: 0 - - type: binary + - type: op operation: '-' arguments: - type: access @@ -53,7 +54,7 @@ statements: domain: '[N] -> { S_1[i, j] : j >= i and i >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[i, j] -> [0, i, j, 1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/quasi_affine.scop b/tests/quasi_affine.scop index 91896b8..c5270a9 100644 --- a/tests/quasi_affine.scop +++ b/tests/quasi_affine.scop @@ -19,7 +19,7 @@ statements: domain: '[N] -> { S_0[] }' schedule: '{ S_0[] -> [0, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -38,7 +38,7 @@ statements: domain: '[N] -> { S_1[i] : i <= N and i >= 1 }' schedule: '[N] -> { S_1[i] -> [0, 1, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -63,7 +63,7 @@ statements: domain: '[N] -> { S_2[] }' schedule: '{ S_2[] -> [0, 2] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/scalar.scop b/tests/scalar.scop index 8929bd0..adf20ba 100644 --- a/tests/scalar.scop +++ b/tests/scalar.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/scalar_inc.scop b/tests/scalar_inc.scop index e45fa72..1d08265 100644 --- a/tests/scalar_inc.scop +++ b/tests/scalar_inc.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -26,7 +26,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: unary + type: op operation: ++ arguments: - type: access diff --git a/tests/shortcut1.scop b/tests/shortcut1.scop index f3dc160..77b7dcc 100644 --- a/tests/shortcut1.scop +++ b/tests/shortcut1.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[] : N <= 99 and N >= 1 }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/shortcut2.scop b/tests/shortcut2.scop index 225cef2..6d18a7d 100644 --- a/tests/shortcut2.scop +++ b/tests/shortcut2.scop @@ -11,7 +11,7 @@ statements: domain: '[N] -> { S_0[] : N <= 99 and N >= 1 }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/static.scop b/tests/static.scop index d6b3e59..0ea7fff 100644 --- a/tests/static.scop +++ b/tests/static.scop @@ -13,7 +13,7 @@ statements: }' schedule: '[n] -> { S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/struct1.scop b/tests/struct1.scop index 5c9ca92..cd53873 100644 --- a/tests/struct1.scop +++ b/tests/struct1.scop @@ -19,7 +19,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/struct10.scop b/tests/struct10.scop index 4985f5f..35c6ba6 100644 --- a/tests/struct10.scop +++ b/tests/struct10.scop @@ -23,7 +23,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/struct2.scop b/tests/struct2.scop index 26790a9..c4b6bed 100644 --- a/tests/struct2.scop +++ b/tests/struct2.scop @@ -20,7 +20,7 @@ statements: domain: '{ S_0[i, j] : i >= 0 and i <= 9 and j >= 0 and j <= 19 }' schedule: '{ S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/struct3.scop b/tests/struct3.scop index d4e6b1e..f159578 100644 --- a/tests/struct3.scop +++ b/tests/struct3.scop @@ -21,7 +21,7 @@ statements: and k <= 29 and l >= 0 and l <= 39 }' schedule: '{ S_0[i, j, k, l] -> [0, i, j, k, l] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,13 +30,13 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - - type: binary + - type: op operation: + arguments: - - type: binary + - type: op operation: + arguments: - type: access diff --git a/tests/struct4.scop b/tests/struct4.scop index cd8976a..8faa6de 100644 --- a/tests/struct4.scop +++ b/tests/struct4.scop @@ -25,7 +25,7 @@ statements: domain: '{ S_0[i, j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }' schedule: '{ S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -34,7 +34,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: '*' arguments: - type: access diff --git a/tests/struct5.scop b/tests/struct5.scop index a5cff70..e731f97 100644 --- a/tests/struct5.scop +++ b/tests/struct5.scop @@ -26,7 +26,7 @@ statements: domain: '{ S_0[i, j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }' schedule: '{ S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -35,7 +35,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: '*' arguments: - type: access diff --git a/tests/struct6.scop b/tests/struct6.scop index d8a22b7..59a9aca 100644 --- a/tests/struct6.scop +++ b/tests/struct6.scop @@ -19,7 +19,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/struct7.scop b/tests/struct7.scop index 2ba4983..d47f255 100644 --- a/tests/struct7.scop +++ b/tests/struct7.scop @@ -43,7 +43,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/struct8.scop b/tests/struct8.scop index 5d7b035..3c0ef0f 100644 --- a/tests/struct8.scop +++ b/tests/struct8.scop @@ -30,7 +30,7 @@ statements: domain: '{ S_0[i, j] : i >= 0 and i <= 9 and j >= 0 and j <= 9 }' schedule: '{ S_0[i, j] -> [0, i, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -39,7 +39,7 @@ statements: reference: __pet_ref_0 read: 0 write: 1 - - type: binary + - type: op operation: '*' arguments: - type: access @@ -58,7 +58,7 @@ statements: domain: '{ S_1[] }' schedule: '{ S_1[] -> [1] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/ternary.scop b/tests/ternary.scop index 3ba5e58..e5d1cda 100644 --- a/tests/ternary.scop +++ b/tests/ternary.scop @@ -15,7 +15,7 @@ statements: domain: '{ S_0[i] : i >= 0 and i <= 99 }' schedule: '{ S_0[i] -> [0, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: domain: '{ S_1[i] : i >= 0 and i <= 99 }' schedule: '{ S_1[i] -> [0, i, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -39,7 +39,8 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: ternary + - type: op + operation: '?:' arguments: - type: access relation: '{ S_1[i] -> j[] }' diff --git a/tests/tobi1.scop b/tests/tobi1.scop index c9f4824..0bf00f4 100644 --- a/tests/tobi1.scop +++ b/tests/tobi1.scop @@ -12,7 +12,7 @@ statements: }' schedule: '{ S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/tobi2.scop b/tests/tobi2.scop index 14188fd..5574f77 100644 --- a/tests/tobi2.scop +++ b/tests/tobi2.scop @@ -13,7 +13,7 @@ statements: >= -4294967285 + N) }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/unsigned1.scop b/tests/unsigned1.scop index a6e3614..bbc55aa 100644 --- a/tests/unsigned1.scop +++ b/tests/unsigned1.scop @@ -14,7 +14,7 @@ statements: - i) }' schedule: '{ S_0[i, j, k] -> [0, i, j, k] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/unsigned2.scop b/tests/unsigned2.scop index d2e87eb..889e181 100644 --- a/tests/unsigned2.scop +++ b/tests/unsigned2.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[k] : k >= 252 and k <= 261 }' schedule: '{ S_0[k] -> [0, k] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/unsigned3.scop b/tests/unsigned3.scop index 5265e88..5f87e76 100644 --- a/tests/unsigned3.scop +++ b/tests/unsigned3.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[k] : k >= 252 }' schedule: '{ S_0[k] -> [0, k] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/unsigned_break1.scop b/tests/unsigned_break1.scop index 2231fb2..72e0972 100644 --- a/tests/unsigned_break1.scop +++ b/tests/unsigned_break1.scop @@ -11,7 +11,7 @@ statements: domain: '{ S_0[k] : k >= 252 and k <= 257 }' schedule: '{ S_0[k] -> [0, k, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -28,7 +28,7 @@ statements: 2 - k and 256e0 <= 255 - k)) }' schedule: '{ S_1[k] -> [0, k, 2] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/unsigned_break2.scop b/tests/unsigned_break2.scop index 4cebf1f..926e90d 100644 --- a/tests/unsigned_break2.scop +++ b/tests/unsigned_break2.scop @@ -19,7 +19,7 @@ statements: 256e0 >= 2 - k and 256e0 <= 255 - k)) }' schedule: '{ S_0[k] -> [0, k, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -41,7 +41,7 @@ statements: domain: '{ [S_1[k] -> [0]] : k >= 252 and k <= 261 }' schedule: '{ S_1[k] -> [0, k, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -63,7 +63,7 @@ statements: domain: '{ [S_2[k] -> [0]] : k >= 252 and k <= 261 }' schedule: '{ S_2[k] -> [0, k, 2] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/wdp.scop b/tests/wdp.scop index 2edbde7..4d2040e 100644 --- a/tests/wdp.scop +++ b/tests/wdp.scop @@ -29,7 +29,7 @@ statements: domain: '[N] -> { S_0[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_0[i] -> [0, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -47,7 +47,7 @@ statements: type: call name: _Source_yt arguments: - - type: unary + - type: op operation: '&' arguments: - type: access @@ -56,7 +56,7 @@ statements: reference: __pet_ref_1 read: 0 write: 1 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -69,7 +69,7 @@ statements: domain: '[N] -> { S_2[i] : i <= 1 + N and i >= 0 }' schedule: '[N] -> { S_2[i] -> [2, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -84,7 +84,7 @@ statements: domain: '[N] -> { [S_4[i] -> [0]] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_4[i] -> [3, i, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -113,7 +113,7 @@ statements: domain: '[N] -> { S_5[i] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_5[i] -> [3, i, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -122,10 +122,10 @@ statements: reference: __pet_ref_7 read: 0 write: 1 - - type: binary + - type: op operation: '>' arguments: - - type: binary + - type: op operation: '*' arguments: - type: access @@ -146,7 +146,7 @@ statements: domain: '[N] -> { [S_6[i] -> [1]] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_6[i] -> [3, i, 1, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -175,7 +175,7 @@ statements: domain: '[N] -> { [S_7[i] -> [1]] : i <= -1 + N and i >= 0 }' schedule: '[N] -> { S_7[i] -> [3, i, 1, 1, 1] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -219,7 +219,7 @@ statements: reference: __pet_ref_17 read: 1 write: 0 - - type: unary + - type: op operation: '&' arguments: - type: access @@ -228,7 +228,7 @@ statements: reference: __pet_ref_18 read: 0 write: 1 - - type: unary + - type: op operation: '&' arguments: - type: access diff --git a/tests/while.scop b/tests/while.scop index bbf0496..7dedc08 100644 --- a/tests/while.scop +++ b/tests/while.scop @@ -17,7 +17,7 @@ statements: domain: '[n] -> { S1[x] : x <= -1 + n and x >= 0 }' schedule: '[n] -> { S1[x] -> [0, x, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -32,7 +32,7 @@ statements: domain: '[n] -> { [S_1[x, t] -> [1]] : x <= -1 + n and x >= 0 and t >= 0 }' schedule: '[n] -> { S_1[x, t] -> [0, x, 1, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -67,7 +67,7 @@ statements: domain: '[n] -> { [S2[x, t] -> [1]] : x <= -1 + n and x >= 0 and t >= 0 }' schedule: '[n] -> { S2[x, t] -> [0, x, 1, t, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/while_affine.scop b/tests/while_affine.scop index 6580cd2..2f7875c 100644 --- a/tests/while_affine.scop +++ b/tests/while_affine.scop @@ -15,7 +15,7 @@ statements: domain: '[N] -> { S_0[99, t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_0[i, t, j] -> [0, i, t, 0, j] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -30,7 +30,7 @@ statements: domain: '[N] -> { S_1[99, t, j] : j >= 0 and t >= 0 and j <= -1 + N }' schedule: '[N] -> { S_1[i, t, j] -> [0, i, t, 1, j] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/while_break.scop b/tests/while_break.scop index 15df648..9c08c6b 100644 --- a/tests/while_break.scop +++ b/tests/while_break.scop @@ -35,7 +35,7 @@ statements: domain: '[N] -> { S_0[t] : N = 0 and t >= 1; S_0[0] }' schedule: '[N] -> { S_0[t] -> [0, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -50,7 +50,7 @@ statements: domain: '[N] -> { S_1[t] : N = 0 and t >= 1; S_1[0] : N = 0 }' schedule: '[N] -> { S_1[t] -> [0, t, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -65,7 +65,7 @@ statements: domain: '[N] -> { [S_2[t] -> [0]] : t >= 0 }' schedule: '{ S_2[t] -> [1, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -87,7 +87,7 @@ statements: domain: '[N] -> { [S_3[t] -> [0]] : t >= 0 }' schedule: '{ S_3[t] -> [1, t, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -109,7 +109,7 @@ statements: domain: '[N] -> { [S_4[t] -> [0]] : t >= 0 }' schedule: '{ S_4[t] -> [1, t, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -131,7 +131,7 @@ statements: domain: '[N] -> { [S_5[t] -> [1]] : N = 0 and t >= 1; [S_5[0] -> [1]] }' schedule: '[N] -> { S_5[t] -> [2, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -155,7 +155,7 @@ statements: domain: '[N] -> { [S_6[t] -> [1]] : N = 0 and t >= 1; [S_6[0] -> [1]] }' schedule: '[N] -> { S_6[t] -> [2, t, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -177,7 +177,7 @@ statements: domain: '[N] -> { [S_7[t] -> [1]] : N = 0 and t >= 1; [S_7[0] -> [1]] : N = 0 }' schedule: '[N] -> { S_7[t] -> [2, t, 1, 2] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -199,7 +199,7 @@ statements: domain: '[N] -> { [S_8[t] -> [1, 0]] : t >= 0 }' schedule: '{ S_8[t] -> [3, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -227,7 +227,7 @@ statements: domain: '[N] -> { [S_9[t] -> [1, 0]] : t >= 0 }' schedule: '{ S_9[t] -> [3, t, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -255,7 +255,7 @@ statements: domain: '[N] -> { [S_10[t] -> [1, 0]] : t >= 0 }' schedule: '{ S_10[t] -> [3, t, 1, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -283,7 +283,7 @@ statements: domain: '[N] -> { [S_11[t] -> [1, 0]] : t >= 0 }' schedule: '{ S_11[t] -> [3, t, 1, 2] }' body: - type: binary + type: op operation: = arguments: - type: access diff --git a/tests/while_inc.scop b/tests/while_inc.scop index 8c12473..597c7b4 100644 --- a/tests/while_inc.scop +++ b/tests/while_inc.scop @@ -21,7 +21,7 @@ statements: domain: '{ S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -36,7 +36,7 @@ statements: domain: '{ [S_1[t] -> [1]] : t >= 0 }' schedule: '{ S_1[t] -> [1, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -45,7 +45,7 @@ statements: reference: __pet_ref_2 read: 0 write: 1 - - type: binary + - type: op operation: < arguments: - type: access @@ -67,7 +67,7 @@ statements: domain: '{ [S_2[t] -> [1]] : t >= 0 }' schedule: '{ S_2[t] -> [1, t, 1, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -100,7 +100,7 @@ statements: domain: '{ [S_3[t] -> [1]] : t >= 0 }' schedule: '{ S_3[t] -> [1, t, 1, 1] }' body: - type: unary + type: op operation: ++ arguments: - type: access diff --git a/tests/while_overflow.scop b/tests/while_overflow.scop index 44feb59..352f125 100644 --- a/tests/while_overflow.scop +++ b/tests/while_overflow.scop @@ -17,7 +17,7 @@ statements: domain: '[N] -> { S_0[] }' schedule: '{ S_0[] -> [0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -32,7 +32,7 @@ statements: domain: '[N] -> { [S_1[t] -> [1]] : t >= 0 }' schedule: '{ S_1[t] -> [1, t, 0] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -55,7 +55,7 @@ statements: i <= -1 + 2N }' schedule: '[N] -> { S_2[t, i] -> [1, t, 1, 0, i] }' body: - type: binary + type: op operation: = arguments: - type: access @@ -64,7 +64,7 @@ statements: reference: __pet_ref_4 read: 0 write: 1 - - type: binary + - type: op operation: + arguments: - type: access -- 2.11.4.GIT