calls.c (expand_call): When modes of target and valreg match, force sibcall failure when target is a MEM.
* calls.c (expand_call): When modes of target and valreg match, force sibcall failure when target is a MEM. From-SVN: r66260
This commit is contained in:
parent
555456b175
commit
0219237c53
@ -1,3 +1,8 @@
|
||||
2003-04-29 Olivier Hainque <hainque@act-europe.fr>
|
||||
|
||||
* calls.c (expand_call): When modes of target and valreg match, force
|
||||
sibcall failure when target is a MEM.
|
||||
|
||||
2003-04-29 Geoffrey Keating <geoffk@apple.com>
|
||||
|
||||
* doc/invoke.texi (Overall Options): Mention -x objective-c-header.
|
||||
|
@ -3279,6 +3279,12 @@ expand_call (exp, target, ignore)
|
||||
If they refer to the same register, this move will be a no-op,
|
||||
except when function inlining is being done. */
|
||||
emit_move_insn (target, valreg);
|
||||
|
||||
/* If we are setting a MEM, this code must be executed. Since it is
|
||||
emitted after the call insn, sibcall optimization cannot be
|
||||
performed in that case. */
|
||||
if (GET_CODE (target) == MEM)
|
||||
sibcall_failure = 1;
|
||||
}
|
||||
else if (TYPE_MODE (TREE_TYPE (exp)) == BLKmode)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user