re PR target/13789 ([tree-ssa] ICE on _builtin_expect_addr)

PR target/13789
        * expr.c (store_expr): Use force_operand before emit_move_insn.

From-SVN: r77158
This commit is contained in:
Richard Henderson 2004-02-02 20:37:29 -08:00 committed by Richard Henderson
parent 06a81b60c2
commit b0dccb0022
3 changed files with 18 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2004-02-02 Richard Henderson <rth@redhat.com>
PR target/13789
* expr.c (store_expr): Use force_operand before emit_move_insn.
2004-02-02 Jeff Law <law@redhat.com>
Roger Sayle <roger@eyesopen.com>

View File

@ -4334,7 +4334,11 @@ store_expr (tree exp, rtx target, int want_value)
(want_value & 2
? BLOCK_OP_CALL_PARM : BLOCK_OP_NORMAL));
else
emit_move_insn (target, temp);
{
temp = force_operand (temp, target);
if (temp != target)
emit_move_insn (target, temp);
}
}
/* If we don't want a value, return NULL_RTX. */

View File

@ -0,0 +1,8 @@
/* PR target/13789 */
/* Failed on SPARC due to a bug in store_expr. */
void *foo (void *c)
{
void *a = __builtin_extract_return_addr (c);
return a;
}