Commit d2751e9e by Richard Henderson Committed by Richard Henderson

re PR tree-optimization/21541 (gcc.c-torture/execute/20031215-1.c compilation fails)

        PR 21541
        * ifcvt.c (noce_process_if_block): Avoid conversion when the
        memory destination is readonly.

From-SVN: r99951
parent e8276665
2005-05-18 Richard Henderson <rth@redhat.com>
PR 21541
* ifcvt.c (noce_process_if_block): Avoid conversion when the
memory destination is readonly.
2005-05-18 Richard Henderson <rth@redhat.com>
PR 21541
* tree-ssa-operands.c (opf_non_specific): New.
(get_asm_expr_operands): Set it.
(add_call_clobber_ops, add_call_read_ops): Likewise.
......
......@@ -1981,6 +1981,14 @@ noce_process_if_block (struct ce_if_block * ce_info)
if (side_effects_p (x))
return FALSE;
/* If x is a read-only memory, then the program is valid only if we
avoid the store into it. If there are stores on both the THEN and
ELSE arms, then we can go ahead with the conversion; either the
program is broken, or the condition is always false such that the
other memory is selected. */
if (!set_b && MEM_P (x) && MEM_READONLY_P (x))
return FALSE;
b = (set_b ? SET_SRC (set_b) : x);
/* Only operate on register destinations, and even then avoid extending
......
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