Introduce rtl_data::init_stack_alignment
Move this part of "expand"'s initialization of crtl into its own method so that it can used by the RTL frontend when postprocessing RTL dumps. gcc/ChangeLog: * cfgexpand.c (pass_expand::execute): Move stack initializations to rtl_data::init_stack_alignment and call it. * emit-rtl.c (rtl_data::init_stack_alignment): New method. * emit-rtl.h (rtl_data::init_stack_alignment): New method. From-SVN: r243371
This commit is contained in:
parent
27e7087f51
commit
8194c53746
|
@ -1,3 +1,10 @@
|
|||
2016-12-07 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* cfgexpand.c (pass_expand::execute): Move stack initializations
|
||||
to rtl_data::init_stack_alignment and call it.
|
||||
* emit-rtl.c (rtl_data::init_stack_alignment): New method.
|
||||
* emit-rtl.h (rtl_data::init_stack_alignment): New method.
|
||||
|
||||
2016-12-07 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
|
||||
* gcc/ira.c (ira_setup_eliminable_regset): Initialize crtl->is_leaf.
|
||||
|
|
|
@ -6213,10 +6213,7 @@ pass_expand::execute (function *fun)
|
|||
discover_nonconstant_array_refs ();
|
||||
|
||||
targetm.expand_to_rtl_hook ();
|
||||
crtl->stack_alignment_needed = STACK_BOUNDARY;
|
||||
crtl->max_used_stack_slot_alignment = STACK_BOUNDARY;
|
||||
crtl->stack_alignment_estimated = 0;
|
||||
crtl->preferred_stack_boundary = STACK_BOUNDARY;
|
||||
crtl->init_stack_alignment ();
|
||||
fun->cfg->max_jumptable_ents = 0;
|
||||
|
||||
/* Resovle the function section. Some targets, like ARM EABI rely on knowledge
|
||||
|
|
|
@ -6291,5 +6291,17 @@ need_atomic_barrier_p (enum memmodel model, bool pre)
|
|||
gcc_unreachable ();
|
||||
}
|
||||
}
|
||||
|
||||
/* Initialize fields of rtl_data related to stack alignment. */
|
||||
|
||||
void
|
||||
rtl_data::init_stack_alignment ()
|
||||
{
|
||||
stack_alignment_needed = STACK_BOUNDARY;
|
||||
max_used_stack_slot_alignment = STACK_BOUNDARY;
|
||||
stack_alignment_estimated = 0;
|
||||
preferred_stack_boundary = STACK_BOUNDARY;
|
||||
}
|
||||
|
||||
|
||||
#include "gt-emit-rtl.h"
|
||||
|
|
|
@ -55,6 +55,8 @@ struct GTY(()) incoming_args {
|
|||
|
||||
/* Datastructures maintained for currently processed function in RTL form. */
|
||||
struct GTY(()) rtl_data {
|
||||
void init_stack_alignment ();
|
||||
|
||||
struct expr_status expr;
|
||||
struct emit_status emit;
|
||||
struct varasm_status varasm;
|
||||
|
|
Loading…
Reference in New Issue