This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Improve cost computations in IVOPTS
> > Tested on i586-suse-linux, OK for mainline?
>
> + if (TREE_CODE (op1) != INTEGER_CST)
> + return orig_expr;
>
> should test host_integerp (op1, 0).
You're right. In fact, the file uses the sophisticated cst_and_fits_in_hwi /
int_cst_value devices so I presume this should be something like:
case MULT_EXPR:
op1 = TREE_OPERAND (expr, 1);
if (!cst_and_fits_in_hwi (op1))
return orig_expr;
op0 = TREE_OPERAND (expr, 0);
op0 = strip_offset_1 (op0, false, false, &off0);
if (op0 == TREE_OPERAND (expr, 0))
return orig_expr;
*offset = off0 * int_cst_value (op1);
if (integer_zerop (op0))
expr = op0;
else
expr = fold_build2 (MULT_EXPR, type, op0, op1);
return fold_convert (orig_type, expr);
--
Eric Botcazou