Commit 0219237c by Olivier Hainque Committed by Richard Kenner

calls.c (expand_call): When modes of target and valreg match, force sibcall…

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
parent 555456b1
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)
{
......
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