aboutsummaryrefslogtreecommitdiff
path: root/gcc/fold-const.c
diff options
context:
space:
mode:
authorGeorg-Johann Lay <avr@gjlay.de>2012-09-28 08:21:06 +0000
committerGeorg-Johann Lay <gjl@gcc.gnu.org>2012-09-28 08:21:06 +0000
commit3fd1e31dc5e6b1017a0a49c1b6d17c1e1e268b27 (patch)
treecb5b381dedfa92278ef86432edd69d0a6e334ac4 /gcc/fold-const.c
parentaf710874e9402567635008a88279e9ab02227b2d (diff)
downloadgcc-3fd1e31dc5e6b1017a0a49c1b6d17c1e1e268b27.zip
gcc-3fd1e31dc5e6b1017a0a49c1b6d17c1e1e268b27.tar.gz
gcc-3fd1e31dc5e6b1017a0a49c1b6d17c1e1e268b27.tar.bz2
re PR rtl-optimization/52543 (lower-subreg.c: code bloat of 300%-400% for multi-word memory splits)
PR rtl-optimization/52543 * config/avr/avr.c (avr_mode_dependent_address_p): Return true for all non-generic address spaces. (TARGET_SECONDARY_RELOAD): New hook define to... (avr_secondary_reload): ...this new static function. * config/avr/avr.md (reload_in<mode>): New insns. Undo r185605 (mostly): * config/avr/avr-protos.h (avr_load_lpm): Remove. * config/avr/avr.c (avr_load_libgcc_p): Don't restrict to __flash loads. (avr_out_lpm): Also handle loads > 1 byte. (avr_load_lpm): Remove. (avr_find_unused_d_reg): New static function. (avr_out_lpm_no_lpmx): New static function. (adjust_insn_length): Remove ADJUST_LEN_LOAD_LPM. * config/avr/avr.md (unspec): Remove UNSPEC_LPM. (load_<mode>_libgcc): Use MEM instead of UNSPEC_LPM. (load_<mode>, load_<mode>_clobber): Remove. (mov<mode>): For multi-byte move from non-generic 16-bit address spaces: Expand to *mov<mode> again. (load<mode>_libgcc): New expander. (split-lpmx): Remove split. From-SVN: r191820
Diffstat (limited to 'gcc/fold-const.c')
0 files changed, 0 insertions, 0 deletions