Lines Matching refs:left

204 	struct expression *left = expr->left, *right = expr->right;  in simplify_int_binop()  local
216 if (left->type != EXPR_VALUE) in simplify_int_binop()
218 l = left->value; r = right->value; in simplify_int_binop()
306 expr->taint = left->taint | right->taint; in simplify_int_binop()
320 struct expression *left = expr->left, *right = expr->right; in simplify_cmp_binop() local
324 if (left->type != EXPR_VALUE || right->type != EXPR_VALUE) in simplify_cmp_binop()
326 l = left->value; r = right->value; in simplify_cmp_binop()
346 expr->taint = left->taint | right->taint; in simplify_cmp_binop()
352 struct expression *left = expr->left, *right = expr->right; in simplify_float_binop() local
356 if (left->type != EXPR_FVALUE || right->type != EXPR_FVALUE) in simplify_float_binop()
359 l = left->fvalue; in simplify_float_binop()
401 struct expression *left = expr->left, *right = expr->right; in simplify_float_cmp() local
404 if (left->type != EXPR_FVALUE || right->type != EXPR_FVALUE) in simplify_float_cmp()
407 l = left->fvalue; in simplify_float_cmp()
426 cost = expand_expression(expr->left); in expand_binop()
437 struct expression *left = expr->left; in expand_logical() local
442 cost = expand_expression(left); in expand_logical()
443 if (left->type == EXPR_VALUE) { in expand_logical()
445 if (!left->value) { in expand_logical()
448 expr->taint = left->taint; in expand_logical()
452 if (left->value) { in expand_logical()
455 expr->taint = left->taint; in expand_logical()
463 if (left->type == EXPR_VALUE && right->type == EXPR_VALUE) { in expand_logical()
470 expr->taint = left->taint | right->taint; in expand_logical()
491 cost = expand_expression(expr->left); in expand_comma()
493 if (expr->left->type == EXPR_VALUE || expr->left->type == EXPR_FVALUE) { in expand_comma()
496 taint = expr->left->type == EXPR_VALUE ? expr->left->taint : 0; in expand_comma()
507 static int compare_types(int op, struct symbol *left, struct symbol *right) in compare_types() argument
509 struct ctype c1 = {.base_type = left}; in compare_types()
517 return left->bit_size < right->bit_size; in compare_types()
519 return left->bit_size > right->bit_size; in compare_types()
521 return left->bit_size <= right->bit_size; in compare_types()
523 return left->bit_size >= right->bit_size; in compare_types()
530 struct expression *left = expr->left, *right = expr->right; in expand_compare() local
533 cost = expand_expression(left); in expand_compare()
536 if (left && right) { in expand_compare()
538 if (left->type == EXPR_TYPE && right->type == EXPR_TYPE) { in expand_compare()
541 expr->value = compare_types(op, left->symbol, right->symbol); in expand_compare()
545 if (simplify_cmp_binop(expr, left->ctype)) in expand_compare()
547 if (simplify_float_cmp(expr, left->ctype)) in expand_compare()
604 expand_expression(expr->left); in expand_assignment()
678 unop = unop->left; in expand_dereference()