Lines Matching refs:expr
23 static unsigned long long find_possible_bits(struct expression *expr)
30 expr = strip_expr(expr);
32 if (get_implied_value(expr, &sval))
35 if (expr->type == EXPR_BINOP && (expr->op == '&' || expr->op == '|')) {
38 left = find_possible_bits(expr->left);
41 right = find_possible_bits(expr->right);
45 if (expr->op == '&')
50 get_absolute_max(expr, &sval);
64 static unsigned long long get_possible_bits(struct expression *expr) in get_possible_bits() argument
68 expr = strip_expr(expr); in get_possible_bits()
69 if (expr->type != EXPR_BINOP) in get_possible_bits()
71 if (expr->op != '&') in get_possible_bits()
73 if (!get_implied_value(expr->right, &sval)) in get_possible_bits()
79 static void match_condition(struct expression *expr) in match_condition() argument
86 type = get_type(expr); in match_condition()
90 if (expr->type != EXPR_COMPARE) in match_condition()
92 if (expr->op != SPECIAL_EQUAL && expr->op != SPECIAL_NOTEQUAL) in match_condition()
95 if (!get_value(expr->right, &sval)) in match_condition()
99 left_mask = get_possible_bits(expr->left); in match_condition()
111 str = expr_to_str(expr); in match_condition()
113 expr->op == SPECIAL_EQUAL ? "false" : "true"); in match_condition()