final.c (output_addr_const): Simplify.
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 23 Nov 2000 06:37:23 +0000 (06:37 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Thu, 23 Nov 2000 06:37:23 +0000 (06:37 +0000)
commit422be3c3ccc0a941ea3a0a40c339322681b28b2b
tree5c0256af6368b27411a55e15e137d7e09aea0433
parent43c05634539cbdb4162ac6e067891e8f01ac2f62
final.c (output_addr_const): Simplify.

* final.c (output_addr_const) [LABEL_REF]: Simplify.
[MINUS]: Enclose non-CONST_INTs in parentheses.
[default]: Try OUTPUT_ADDR_CONST_EXTRA.
* tm.texi (OUTPUT_ADDR_CONST_EXTRA): Document it.
* varasm.c (decode_rtx_const) [CONST]: If it's not something
PLUS or MINUS a CONST_INT, use the whole CONST with offset 0
instead of abort()ing.
* sh.c (output_pic_addr_const): Removed.  Fixed all callers.
* sh.h (OUTPUT_ADDR_CONST_EXTRA): New.  Handle the UNSPECs
formerly handled in output_pic_addr_const.
* sh.md (sym_label2reg, symPLT_label2reg): Enclose UNSPEC
operands of MINUS in CONSTs so that decode_rtx_const() will
accept them.

From-SVN: r37691
gcc/ChangeLog
gcc/config/sh/sh.c
gcc/config/sh/sh.h
gcc/config/sh/sh.md
gcc/final.c
gcc/tm.texi
gcc/varasm.c