re PR target/78093 ([avr] New variable attribute "absdata" and option "-mabsdata...
authorGeorg-Johann Lay <avr@gjlay.de>
Mon, 24 Oct 2016 11:02:51 +0000 (11:02 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Mon, 24 Oct 2016 11:02:51 +0000 (11:02 +0000)
commitb1b6774f67ee3760778596db91bbe5a6ce73a172
treeb7c4975fab294b75e604f23f0d4cc6a39addca46
parent06d1ff9050a32a7dda55e1905de3d4fd6eb76452
re PR target/78093 ([avr] New variable attribute "absdata" and option "-mabsdata" to enable LDS / STS on Reduced Tiny)

gcc/
PR target/78093
* doc/extend.texi (AVR Variable Attributes) [absdata]: Document it.
* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_ABSDATA): New macro.
(avr_address_tiny_absdata_p): New static function.
(avr_legitimate_address_p, avr_legitimize_address) [AVR_TINY]: Use
it to determine validity of constant addresses.
(avr_attribute_table) [absdata]: New variable attribute...
(avr_handle_absdata_attribute): ...and handler.
(avr_decl_absdata_p): New static function.
(avr_encode_section_info) [AVR_TINY]: Use it to add flag
AVR_SYMBOL_FLAG_TINY_ABSDATA to respective symbols_refs.
(avr_address_cost) [AVR_TINY]: absdata addresses cost 2.
gcc/testsuite/
PR target/78093
* lib/target-supports.exp (check_effective_target_avr_tiny): New proc.
* gcc.target/avr/torture/tiny-absdata-1.c: New test.

From-SVN: r241468
gcc/ChangeLog
gcc/config/avr/avr.c
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/avr/torture/tiny-absdata-1.c [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp