Commit 8eb99146 by Richard Henderson Committed by Richard Henderson

calls.c (expand_call): Supress sibcall if we have a BLKmode return in registers.

        * calls.c (expand_call): Supress sibcall if we have a
        BLKmode return in registers.

From-SVN: r37076
parent 036099eb
2000-10-26 Richard Henderson <rth@redhat.com>
* calls.c (expand_call): Supress sibcall if we have a
BLKmode return in registers.
2000-10-26 Bernd Schmidt <bernds@redhat.co.uk> 2000-10-26 Bernd Schmidt <bernds@redhat.co.uk>
* ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants * ia64.h (PREFERRED_RELOAD_CLASS): Force floating point constants
......
...@@ -3259,7 +3259,12 @@ expand_call (exp, target, ignore) ...@@ -3259,7 +3259,12 @@ expand_call (exp, target, ignore)
emit_move_insn (target, valreg); emit_move_insn (target, valreg);
} }
else if (TYPE_MODE (TREE_TYPE (exp)) == BLKmode) else if (TYPE_MODE (TREE_TYPE (exp)) == BLKmode)
target = copy_blkmode_from_reg (target, valreg, TREE_TYPE (exp)); {
target = copy_blkmode_from_reg (target, valreg, TREE_TYPE (exp));
/* We can not support sibling calls for this case. */
sibcall_failure = 1;
}
else else
target = copy_to_reg (valreg); target = copy_to_reg (valreg);
......
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