mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-30 06:39:36 +08:00
calls.c (calls_function_1, [...]): Only test TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
* calls.c (calls_function_1, expand_call): Only test TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. * function.c (thread_prologue_and_epilogue_insns): Likewise. From-SVN: r35743
This commit is contained in:
parent
853d88280a
commit
43db0363f1
@ -1,3 +1,9 @@
|
||||
Wed Aug 16 08:10:32 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
|
||||
|
||||
* calls.c (calls_function_1, expand_call): Only test
|
||||
TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
|
||||
* function.c (thread_prologue_and_epilogue_insns): Likewise.
|
||||
|
||||
2000-08-16 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* combine.c (simplify_shift_const): Revert previous two
|
||||
|
@ -281,8 +281,10 @@ calls_function_1 (exp, which)
|
||||
case CALL_EXPR:
|
||||
if (which == 0)
|
||||
return 1;
|
||||
else if (TYPE_RETURNS_STACK_DEPRESSED
|
||||
(TREE_TYPE (TREE_TYPE (TREE_OPERAND (exp, 0)))))
|
||||
else if ((TREE_CODE (TREE_TYPE (TREE_TYPE (TREE_OPERAND (exp, 0))))
|
||||
== FUNCTION_TYPE)
|
||||
&& (TYPE_RETURNS_STACK_DEPRESSED
|
||||
(TREE_TYPE (TREE_TYPE (TREE_OPERAND (exp, 0))))))
|
||||
return 1;
|
||||
else if (TREE_CODE (TREE_OPERAND (exp, 0)) == ADDR_EXPR
|
||||
&& (TREE_CODE (TREE_OPERAND (TREE_OPERAND (exp, 0), 0))
|
||||
@ -2195,7 +2197,8 @@ expand_call (exp, target, ignore)
|
||||
flags |= flags_from_decl_or_type (TREE_TYPE (TREE_TYPE (p)));
|
||||
|
||||
/* Mark if the function returns with the stack pointer depressed. */
|
||||
if (TYPE_RETURNS_STACK_DEPRESSED (TREE_TYPE (TREE_TYPE (p))))
|
||||
if (TREE_CODE (TREE_TYPE (TREE_TYPE (p))) == FUNCTION_TYPE
|
||||
&& TYPE_RETURNS_STACK_DEPRESSED (TREE_TYPE (TREE_TYPE (p))))
|
||||
{
|
||||
flags |= ECF_SP_DEPRESSED;
|
||||
flags &= ~ (ECF_PURE | ECF_CONST);
|
||||
|
@ -7058,7 +7058,8 @@ thread_prologue_and_epilogue_insns (f)
|
||||
|
||||
/* If this function returns with the stack depressed, massage
|
||||
the epilogue to actually do that. */
|
||||
if (TYPE_RETURNS_STACK_DEPRESSED (TREE_TYPE (current_function_decl)))
|
||||
if (TREE_CODE (TREE_TYPE (current_function_decl)) == FUNCTION_TYPE
|
||||
&& TYPE_RETURNS_STACK_DEPRESSED (TREE_TYPE (current_function_decl)))
|
||||
keep_stack_depressed (seq);
|
||||
|
||||
emit_jump_insn (seq);
|
||||
|
Loading…
Reference in New Issue
Block a user