aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/nds32/nds32.c
diff options
context:
space:
mode:
authorChung-Ju Wu <jasonwucj@gmail.com>2018-04-22 10:10:00 +0000
committerChung-Ju Wu <jasonwucj@gcc.gnu.org>2018-04-22 10:10:00 +0000
commit1311665187d54b68fc88f75685ccd28b6d3e2ebc (patch)
treecb16289bba89c3bd07c173cd0e5a08d3ab0ddc67 /gcc/config/nds32/nds32.c
parentc411e9aa4fd63e03a8e4594776ceb22ff3966dbc (diff)
downloadgcc-1311665187d54b68fc88f75685ccd28b6d3e2ebc.zip
gcc-1311665187d54b68fc88f75685ccd28b6d3e2ebc.tar.gz
gcc-1311665187d54b68fc88f75685ccd28b6d3e2ebc.tar.bz2
[NDS32] Add new option -malways-save-lp.
gcc/ * config/nds32/nds32.c (nds32_compute_stack_frame): Consider flag_always_save_lp condition. * config/nds32/nds32.opt (malways-save-lp): New option. From-SVN: r259553
Diffstat (limited to 'gcc/config/nds32/nds32.c')
-rw-r--r--gcc/config/nds32/nds32.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/nds32/nds32.c b/gcc/config/nds32/nds32.c
index 9a8c712..8994c13 100644
--- a/gcc/config/nds32/nds32.c
+++ b/gcc/config/nds32/nds32.c
@@ -436,7 +436,8 @@ nds32_compute_stack_frame (void)
/* If $lp value is required to be saved on stack, it needs 4 bytes space.
Check whether $lp is ever live. */
- cfun->machine->lp_size = (df_regs_ever_live_p (LP_REGNUM)) ? 4 : 0;
+ cfun->machine->lp_size
+ = (flag_always_save_lp || df_regs_ever_live_p (LP_REGNUM)) ? 4 : 0;
/* Initially there is no padding bytes. */
cfun->machine->callee_saved_area_gpr_padding_bytes = 0;