Lines Matching refs:right

40 static void add_comparison(struct expression *left, int comparison, struct expression *right);
73 struct expression *right, in alloc_compare_state() argument
86 data->right = right; in alloc_compare_state()
209 struct range_list *left, *right; in comparison_from_extra() local
213 if (!get_implied_rl(b, &right)) in comparison_from_extra()
216 return rl_comparison(left, right); in comparison_from_extra()
262 data->right, data->right_var, data->right_vsl); in unmatched_comparison()
552 extra = comparison_from_extra(data->left, data->right); in pre_merge_hook()
564 data->right, data->right_var, data->right_vsl)); in pre_merge_hook()
579 data->right, data->right_var, data->right_vsl); in merge_compare_states()
705 data->right, data->right_var, data->right_vsl); in match_inc()
713 data->right, data->right_var, data->right_vsl); in match_inc()
720 data->right, data->right_var, data->right_vsl); in match_inc()
756 data->right, data->right_var, data->right_vsl); in match_dec()
764 data->right, data->right_var, data->right_vsl); in match_dec()
789 data->right, data->right_var, data->right_vsl); in reset_sm()
806 get_absolute_rl(expr->right, &rl); in match_add_sub_assign()
841 return expr_equiv(expr->left, expr->right); in is_self_assign()
864 struct range_list *left, *right; in match_preop() local
897 !get_implied_rl(parent->right, &right)) in match_preop()
900 op = rl_comparison(left, right); in match_preop()
904 add_comparison(expr->unop, op, parent->right); in match_preop()
964 save_link(expr->right, link); in save_link()
977 static int get_orig_comparison(struct stree *pre_stree, const char *left, const char *right) in get_orig_comparison() argument
984 if (strcmp(left, right) > 0) { in get_orig_comparison()
985 const char *tmp = right; in get_orig_comparison()
988 right = left; in get_orig_comparison()
992 snprintf(state_name, sizeof(state_name), "%s vs %s", left, right); in get_orig_comparison()
1051 right_expr = data->right; in update_tf_links()
1166 if (get_value(expr->right, &sval)) in handle_for_loops()
1176 cap_name = expr_to_var_sym(expr->right, &cap_sym); in handle_for_loops()
1202 data->right, data->right_var, data->right_vsl); in handle_for_loops()
1214 if (!get_implied_value(expr->right, &sval) || sval.value != 1) in is_plus_one()
1225 if (!get_implied_value(expr->right, &sval) || sval.value != 1) in is_minus_one()
1233 struct expression *right = *right_p; in move_plus_to_minus_helper() local
1247 *right_p = binop_expression(right, '-', left->right); in move_plus_to_minus_helper()
1262 char *right = NULL; in handle_comparison() local
1305 right = chunk_to_var_sym(right_expr, &right_sym); in handle_comparison()
1306 if (!right) in handle_comparison()
1309 add_var_sym(&right_vsl, right, right_sym); in handle_comparison()
1313 if (strcmp(left, right) > 0) { in handle_comparison()
1318 left = right; in handle_comparison()
1321 right = tmp_name; in handle_comparison()
1332 snprintf(state_name, sizeof(state_name), "%s vs %s", left, right); in handle_comparison()
1336 right_expr, right, right_vsl); in handle_comparison()
1340 right_expr, right, right_vsl); in handle_comparison()
1343 update_tf_data(pre_stree, left_expr, left, left_vsl, right_expr, right, right_vsl, op, false_op); in handle_comparison()
1357 free_string(right); in handle_comparison()
1362 struct expression *left, *right, *new_left, *new_right, *tmp; in __comparison_match_condition() local
1370 handle_comparison(expr->left, expr->op, expr->right, &state_name, &false_state); in __comparison_match_condition()
1375 right = strip_parens(expr->right); in __comparison_match_condition()
1379 new_right = binop_expression(right, '-', left->right); in __comparison_match_condition()
1382 new_left = left->right; in __comparison_match_condition()
1383 new_right = binop_expression(right, '-', left->left); in __comparison_match_condition()
1389 right = strip_parens(expr->right); in __comparison_match_condition()
1394 if (get_last_expr_from_expression_stmt(expr->right)) { in __comparison_match_condition()
1395 right = get_last_expr_from_expression_stmt(expr->right); in __comparison_match_condition()
1409 while ((tmp = get_assigned_expr(right))) { in __comparison_match_condition()
1412 right = strip_expr(tmp); in __comparison_match_condition()
1415 handle_comparison(left, expr->op, right, NULL, NULL); in __comparison_match_condition()
1458 static void add_comparison(struct expression *left, int comparison, struct expression *right) in add_comparison() argument
1471 right_name = chunk_to_var_sym(right, &right_sym); in add_comparison()
1474 right_vsl = expr_to_vsl(right); in add_comparison()
1482 left = right; in add_comparison()
1486 right = tmp_expr; in add_comparison()
1496 right, right_name, right_vsl); in add_comparison()
1500 save_link(right, state_name); in add_comparison()
1509 struct expression *right; in match_assign_add() local
1513 right = strip_expr(expr->right); in match_assign_add()
1514 r_left = strip_expr(right->left); in match_assign_add()
1515 r_right = strip_expr(right->right); in match_assign_add()
1533 struct expression *right; in match_assign_sub() local
1538 right = strip_expr(expr->right); in match_assign_sub()
1539 r_left = strip_expr(right->left); in match_assign_sub()
1540 r_right = strip_expr(right->right); in match_assign_sub()
1560 struct expression *right; in match_assign_divide() local
1564 right = strip_expr(expr->right); in match_assign_divide()
1565 r_left = strip_expr(right->left); in match_assign_divide()
1566 r_right = strip_expr(right->right); in match_assign_divide()
1575 struct expression *right; in match_binop_assign() local
1577 right = strip_expr(expr->right); in match_binop_assign()
1578 if (right->op == '+') in match_binop_assign()
1580 if (right->op == '-') in match_binop_assign()
1582 if (right->op == '/') in match_binop_assign()
1586 static void copy_comparisons(struct expression *left, struct expression *right) in copy_comparisons() argument
1605 right_var = chunk_to_var_sym(right, &right_sym); in copy_comparisons()
1620 expr = data->right; in copy_comparisons()
1641 struct expression *right; in match_assign() local
1654 copy_comparisons(expr->left, expr->right); in match_assign()
1655 add_comparison(expr->left, SPECIAL_EQUAL, expr->right); in match_assign()
1657 right = strip_expr(expr->right); in match_assign()
1658 if (right->type == EXPR_BINOP) in match_assign()
1901 struct expression *right) in update_links_from_call() argument
1920 right_var = chunk_to_var_sym(right, &right_sym); in update_links_from_call()
1935 expr = data->right; in update_links_from_call()
1974 struct expression *tmp, *right; in get_mask_comparison() local
1990 right = strip_expr(expr->right); in get_mask_comparison()
1991 param = get_param_num(right); in get_mask_comparison()
2225 struct var_sym *left, *right; in struct_member_callback() local
2245 right = first_ptr_list((struct ptr_list *)data->right_vsl); in struct_member_callback()
2246 if (left->sym == right->sym && in struct_member_callback()
2247 strcmp(left->var, right->var) == 0) in struct_member_callback()
2257 right_name = get_printed_param_name(call, right->var, right->sym); in struct_member_callback()
2313 struct var_sym *left, *right; in print_return_comparison() local
2339 right = first_ptr_list((struct ptr_list *)data->right_vsl); in print_return_comparison()
2340 if (left->sym == right->sym && in print_return_comparison()
2341 strcmp(left->var, right->var) == 0) in print_return_comparison()
2351 if (strstr(right->var, " orig")) in print_return_comparison()
2355 right_param = get_param_num_from_sym(right->sym); in print_return_comparison()
2364 tmp_name = get_param_name_var_sym(right->var, right->sym); in print_return_comparison()
2471 expr = strip_expr(expr->right); in db_return_comparison()
2476 expr = strip_expr(expr->right); in db_return_comparison()
2524 expr = strip_expr(expr->right); in param_compare_limit_is_impossible()
2572 impossibly_high_comparison(expr->right))) in impossibly_high_comparison()
2585 if (!possibly_true(data->left, data->comparison, data->right)) in impossibly_high_comparison()
2656 data->right, data->right_var, data->right_vsl); in clone_partial_sm()
2678 if (is_merged(sm) || sm->left || sm->right) in create_fake_history()
2689 sm->right = false_sm; in create_fake_history()
2747 filter_by_sm(sm->right, op, true_stack, false_stack, useful); in filter_by_sm()
2755 char *left, *right; in comparison_implication_hook() local
2766 right = expr_to_var(expr->right); in comparison_implication_hook()
2767 if (!left || !right) { in comparison_implication_hook()
2769 free_string(right); in comparison_implication_hook()
2773 if (strcmp(left, right) > 0) { in comparison_implication_hook()
2776 left = right; in comparison_implication_hook()
2777 right = tmp; in comparison_implication_hook()
2781 snprintf(buf, sizeof(buf), "%s vs %s", left, right); in comparison_implication_hook()