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:
parent
b0d2eb9a1a
commit
17b29c0a17
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user