diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2017-05-08 17:44:36 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2017-05-08 17:44:36 +0000 |
commit | 29eb9a442b145c3b637e7b41000e51148969c989 (patch) | |
tree | 25451e4bef78a2286c4eb70717dba908095ae3b5 /gcc/lra-eliminations.c | |
parent | 9057edd30c40ea77707650699f38734eb949b7d6 (diff) | |
download | gcc-29eb9a442b145c3b637e7b41000e51148969c989.zip gcc-29eb9a442b145c3b637e7b41000e51148969c989.tar.gz gcc-29eb9a442b145c3b637e7b41000e51148969c989.tar.bz2 |
target.def (compute_frame_layout): New optional target hook.
2017-05-08 Bernd Edlinger <bernd.edlinger@hotmail.de>
* target.def (compute_frame_layout): New optional target hook.
* doc/tm.texi.in (TARGET_COMPUTE_FRAME_LAYOUT): Add hook.
* doc/tm.texi (TARGET_COMPUTE_FRAME_LAYOUT): Add documentation.
* lra-eliminations.c (update_reg_eliminate): Call compute_frame_layout
target hook.
* reload1.c (verify_initial_elim_offsets): Likewise.
* config/arm/arm.c (TARGET_COMPUTE_FRAME_LAYOUT): Define.
(use_simple_return_p): Call arm_compute_frame_layout if needed.
(arm_get_frame_offsets): Split up into this ...
(arm_compute_frame_layout): ... and this function.
From-SVN: r247750
Diffstat (limited to 'gcc/lra-eliminations.c')
-rw-r--r-- | gcc/lra-eliminations.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/lra-eliminations.c b/gcc/lra-eliminations.c index 695f99a..ab51b67 100644 --- a/gcc/lra-eliminations.c +++ b/gcc/lra-eliminations.c @@ -1196,6 +1196,8 @@ update_reg_eliminate (bitmap insns_with_changed_offsets) struct lra_elim_table *ep, *ep1; HARD_REG_SET temp_hard_reg_set; + targetm.compute_frame_layout (); + /* Clear self elimination offsets. */ for (ep = reg_eliminate; ep < ®_eliminate[NUM_ELIMINABLE_REGS]; ep++) self_elim_offsets[ep->from] = 0; |