Commit c1c455a7 by Richard Henderson Committed by Richard Henderson

builtins.c (expand_builtin_expect_jump): Disable if the expression can't be re-evaluated.

        * builtins.c (expand_builtin_expect_jump): Disable if the
        expression can't be re-evaluated.

From-SVN: r43543
parent 7b8b8ade
2001-06-24 Richard Henderson <rth@redhat.com>
* builtins.c (expand_builtin_expect_jump): Disable if the
expression can't be re-evaluated.
2001-06-24 Nick Clifton <nickc@cambridge.redhat.com>
* config/arm/arm.c (arm_compute_save_reg_mask): For FIQ interrupt
......
......@@ -3304,6 +3304,22 @@ expand_builtin_expect_jump (exp, if_false_label, if_true_label)
int j;
int num_jumps = 0;
/* If we fail to locate an appropriate conditional jump, we'll
fall back to normal evaluation. Ensure that the expression
can be re-evaluated. */
switch (unsafe_for_reeval (arg0))
{
case 0: /* Safe. */
break;
case 1: /* Mildly unsafe. */
arg0 = unsave_expr (arg0);
break;
case 2: /* Wildly unsafe. */
return NULL_RTX;
}
/* Expand the jump insns. */
start_sequence ();
do_jump (arg0, if_false_label, if_true_label);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment