(stabilize_reference_1): For division and remainder, make a save_expr.

From-SVN: r3889
This commit is contained in:
Richard Stallman 1993-03-27 07:23:42 +00:00
parent cf1c49cb56
commit ae698e41ed

View File

@ -1940,6 +1940,14 @@ stabilize_reference_1 (e)
return e;
case '2':
/* Division is slow and tends to be compiled with jumps,
especially the division by powers of 2 that is often
found inside of an array reference. So do it just once. */
if (code == TRUNC_DIV_EXPR || code == TRUNC_MOD_EXPR
|| code == FLOOR_DIV_EXPR || code == FLOOR_MOD_EXPR
|| code == CEIL_DIV_EXPR || code == CEIL_MOD_EXPR
|| code == ROUND_DIV_EXPR || code == ROUND_MOD_EXPR)
return save_expr (e);
/* Recursively stabilize each operand. */
result = build_nt (code, stabilize_reference_1 (TREE_OPERAND (e, 0)),
stabilize_reference_1 (TREE_OPERAND (e, 1)));