diff options
author | Chung-Ju Wu <jasonwucj@gmail.com> | 2018-06-02 11:14:04 +0000 |
---|---|---|
committer | Chung-Ju Wu <jasonwucj@gcc.gnu.org> | 2018-06-02 11:14:04 +0000 |
commit | 2140297cb3091c19ccf8fd3d741dcd840aa0ff8b (patch) | |
tree | 86974ce9b54976b392371850f0ecc3f618305515 /gcc/config.gcc | |
parent | e812d4dd5df9befff0bc077349453e6126a8807d (diff) | |
download | gcc-2140297cb3091c19ccf8fd3d741dcd840aa0ff8b.zip gcc-2140297cb3091c19ccf8fd3d741dcd840aa0ff8b.tar.gz gcc-2140297cb3091c19ccf8fd3d741dcd840aa0ff8b.tar.bz2 |
[NDS32] Implement fp-as-gp optimization.
gcc/
* config/nds32/constants.md (unspec_volatile_element): Add
UNSPEC_VOLATILE_OMIT_FP_BEGIN and UNSPEC_VOLATILE_OMIT_FP_END.
* config/nds32/nds32-fp-as-gp.c: New implementation of fp_as_gp
optimization.
* config/nds32/nds32-protos.h (nds32_naked_function_p): Declare.
(make_pass_nds32_fp_as_gp): Declare.
* config/nds32/nds32.c (nds32_register_passes): Add fp_as_gp as one
optmization pass.
(nds32_asm_function_end_prologue): Remove unused asm output.
(nds32_asm_function_begin_epilogue): Remove unused asm output.
(nds32_asm_file_start): Output necessary fp_as_gp information.
(nds32_option_override): Adjust register usage.
(nds32_expand_prologue): Consider fp_as_gp situation.
(nds32_expand_prologue_v3push): Consider fp_as_gp situation.
* config/nds32/nds32.md (prologue): Check fp_as_gp_p and naked_p.
(epilogue): Ditto.
(return): Ditto.
(simple_return): Ditto.
(omit_fp_begin): Output special directive for fp_as_gp.
(omit_fp_end): Output special directive for fp_as_gp.
* config/nds32/nds32.opt (mfp-as-gp, mno-fp-as-gp, mforce-fp-as-gp,
mforbid-fp-as-gp): New options.
Co-Authored-By: Shiva Chen <shiva0217@gmail.com>
From-SVN: r261115
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions