diff options
author | Chung-Ju Wu <jasonwucj@gmail.com> | 2018-04-22 10:10:00 +0000 |
---|---|---|
committer | Chung-Ju Wu <jasonwucj@gcc.gnu.org> | 2018-04-22 10:10:00 +0000 |
commit | 1311665187d54b68fc88f75685ccd28b6d3e2ebc (patch) | |
tree | cb16289bba89c3bd07c173cd0e5a08d3ab0ddc67 | |
parent | c411e9aa4fd63e03a8e4594776ceb22ff3966dbc (diff) | |
download | gcc-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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/nds32/nds32.c | 3 | ||||
-rw-r--r-- | gcc/config/nds32/nds32.opt | 4 |
3 files changed, 12 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3aa5542..c9a0d04 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2018-04-22 Chung-Ju Wu <jasonwucj@gmail.com> + + * config/nds32/nds32.c (nds32_compute_stack_frame): Consider + flag_always_save_lp condition. + * config/nds32/nds32.opt (malways-save-lp): New option. + 2018-04-22 Shiva Chen <shiva0217@gmail.com> * config/nds32/nds32-protos.h (nds32_use_load_post_increment): Declare. 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; diff --git a/gcc/config/nds32/nds32.opt b/gcc/config/nds32/nds32.opt index dd9b3d1..dcf6d39 100644 --- a/gcc/config/nds32/nds32.opt +++ b/gcc/config/nds32/nds32.opt @@ -321,6 +321,10 @@ mext-fpu-dp Target Report Mask(FPU_DOUBLE) Generate double-precision floating-point instructions. +malways-save-lp +Target Var(flag_always_save_lp) Init(0) +Always save $lp in the stack. + munaligned-access Target Report Var(flag_unaligned_access) Init(0) Enable unaligned word and halfword accesses to packed data. |