2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-03-22 00:01:10 +08:00

calls.c (expand_call): Don't use callgraph to increase preferred_stack_boundary.

2008-05-09  H.J. Lu  <hongjiu.lu@intel.com>

	* calls.c (expand_call): Don't use callgraph to increase
	preferred_stack_boundary.

	* cgraph.h (cgraph_rtl_info): Use unsigned on
	preferred_incoming_stack_boundary.

	* final.c (rest_of_clean_state): Use unsigned on
	preferred_stack_boundary.

From-SVN: r135134
This commit is contained in:
H.J. Lu 2008-05-10 00:41:39 +00:00 committed by H.J. Lu
parent b0d2eb9a1a
commit 17b29c0a17
4 changed files with 21 additions and 3 deletions

@ -1,3 +1,14 @@
2008-05-09 H.J. Lu <hongjiu.lu@intel.com>
* calls.c (expand_call): Don't use callgraph to increase
preferred_stack_boundary.
* cgraph.h (cgraph_rtl_info): Use unsigned on
preferred_incoming_stack_boundary.
* final.c (rest_of_clean_state): Use unsigned on
preferred_stack_boundary.
2008-05-09 Tom Tromey <tromey@redhat.com>
PR preprocessor/22231:

@ -2109,7 +2109,14 @@ expand_call (tree exp, rtx target, int ignore)
if (fndecl)
{
struct cgraph_rtl_info *i = cgraph_rtl_info (fndecl);
if (i && i->preferred_incoming_stack_boundary)
/* Without automatic stack alignment, we can't increase preferred
stack boundary. With automatic stack alignment, it is
unnecessary since unless we can guarantee that all callers will
align the outgoing stack properly, callee has to align its
stack anyway. */
if (i
&& i->preferred_incoming_stack_boundary
&& i->preferred_incoming_stack_boundary < preferred_stack_boundary)
preferred_stack_boundary = i->preferred_incoming_stack_boundary;
}

@ -118,7 +118,7 @@ struct cgraph_global_info GTY(())
struct cgraph_rtl_info GTY(())
{
int preferred_incoming_stack_boundary;
unsigned int preferred_incoming_stack_boundary;
};
/* The cgraph data structure.

@ -4239,7 +4239,7 @@ rest_of_clean_state (void)
if (targetm.binds_local_p (current_function_decl))
{
int pref = crtl->preferred_stack_boundary;
unsigned int pref = crtl->preferred_stack_boundary;
if (crtl->stack_alignment_needed > crtl->preferred_stack_boundary)
pref = crtl->stack_alignment_needed;
cgraph_rtl_info (current_function_decl)->preferred_incoming_stack_boundary