+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.
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
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;
+}
+
\f
#include "gt-emit-rtl.h"
/* 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;