2015-11-24 Steve Ellcey <sellcey@imgtec.com>
commit2208bcd98109348b3a8d1ccc1e0f8d5f051589d0
authorsje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Nov 2015 22:09:17 +0000 (24 22:09 +0000)
committersje <sje@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 24 Nov 2015 22:09:17 +0000 (24 22:09 +0000)
treed775617303374cc385017da3d28ab40d68469aa1
parent18b6450a774e13b6381b6a49b0adcf40c2c7e6a3
2015-11-24  Steve Ellcey  <sellcey@imgtec.com>

* frame-header-opt.c (gate): Check for optimize > 0.
(has_inlined_assembly): New function.
(needs_frame_header_p): Remove is_leaf_function check,
add argument type check.
(callees_functions_use_frame_header): Add is_leaf_function
and has_inlined_assembly calls..
(set_callers_may_not_allocate_frame): New function.
(frame_header_opt): Add is_leaf_function call, add
set_callers_may_not_allocate_frame call.
* config/mips/mips.c (mips_compute_frame_info): Add check
to see if callee saved regs can be put in frame header.
(mips_expand_prologue): Add check to see if step1 is zero,
fix cfa restores when using frame header to store regs.
(mips_can_use_return_insn): Check to see if registers are
stored in frame header.
* config/mips/mips.h (machine_function): Add
callers_may_not_allocate_frame and
use_frame_header_for_callee_saved_regs fields.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@230845 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/mips/frame-header-opt.c
gcc/config/mips/mips.c
gcc/config/mips/mips.h