2017-10-26 Sandra Loosemore <sandra@codesourcery.com>
commit26edd35f7b98fe051da5583535c150cecaf80080
authorsandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Oct 2017 20:52:15 +0000 (26 20:52 +0000)
committersandra <sandra@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 Oct 2017 20:52:15 +0000 (26 20:52 +0000)
treed2726881bdf0330440f81ea13446ea52d87de4b3
parent0bdc995faa5e0a9e928865a5d83b09d9bde352f1
2017-10-26  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/nios2/constraints.md ("S"): Match r0rel_constant_p too.
* config/nios2/nios2-protos.h (r0rel_constant_p): Declare.
* config/nios2/nios2.c: (nios2_r0rel_sec_regex): New.
(nios2_option_overide): Initialize it.  Don't allow R0-relative
addressing with PIC.
(nios2_rtx_costs): Handle r0rel_constant_p like gprel_constant_p.
(nios2_symbolic_constant_p): Likewise.
(nios2_legitimate_address_p): Likewise.
(nios2_r0rel_section_name_p): New.
(nios2_symbol_ref_in_r0rel_data_p): New.
(nios2_emit_move_sequence): Handle r0rel_constant_p.
(r0rel_constant_p): New.
(nios2_print_operand_address): Handle r0rel_constant_p.
(nios2_cdx_narrow_form_p): Likewise.
* config/nios2/nios2.opt (mr0rel-sec=): New option.
* doc/invoke.texi (Option Summary): Add -mr0rel-sec.
(Nios II Options): Document -mr0rel-sec.

gcc/testsuite/
* gcc.target/nios2/gpopt-r0rel-sec.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254124 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/nios2/constraints.md
gcc/config/nios2/nios2-protos.h
gcc/config/nios2/nios2.c
gcc/config/nios2/nios2.opt
gcc/doc/invoke.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/nios2/gpopt-r0rel-sec.c [new file with mode: 0644]