Commit 23f7e62b authored by kenner's avatar kenner
Browse files

* calls.c (calls_function_1, expand_call): Only test

	TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE.
	* function.c (thread_prologue_and_epilogue_insns): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35743 138bc75d-0d04-0410-961f-82ee72b054a4
parent 59b24b5b
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);
......
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