]> git.ipfire.org Git - thirdparty/gcc.git/commit
xtensa: Make full transition to LRA
authorTakayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
Mon, 8 May 2023 13:38:51 +0000 (22:38 +0900)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 30 Jan 2024 17:42:53 +0000 (09:42 -0800)
commit24d5e0bf19f27a89a13f64b4b8750dbde89bdaa0
tree38a96200d398f8dd22c1f854281116910ad3101b
parent1a4c47e10e8ba06f04de2d41a040ba1494843a01
xtensa: Make full transition to LRA

gcc/ChangeLog:

* config/xtensa/constraints.md (R, T, U):
Change define_constraint to define_memory_constraint.
* config/xtensa/predicates.md (move_operand): Don't check that a
constant pool operand size is a multiple of UNITS_PER_WORD.
* config/xtensa/xtensa.cc
(xtensa_lra_p, TARGET_LRA_P): Remove.
(xtensa_emit_move_sequence): Remove "if (reload_in_progress)"
clause as it can no longer be true.
(fixup_subreg_mem): Drop function.
(xtensa_output_integer_literal_parts): Consider 16-bit wide
constants.
(xtensa_legitimate_constant_p): Add short-circuit path for
integer load instructions. Don't check that mode size is
at least UNITS_PER_WORD.
* config/xtensa/xtensa.md (movsf): Use can_create_pseudo_p()
rather reload_in_progress and reload_completed.
(doloop_end): Drop operand 2.
(movhi_internal): Add alternative loading constant from a
literal pool.
(define_split for DI register_operand): Don't limit to
!TARGET_AUTO_LITPOOLS.
* config/xtensa/xtensa.opt (mlra): Change to no effect.
gcc/config/xtensa/constraints.md
gcc/config/xtensa/predicates.md
gcc/config/xtensa/xtensa.cc
gcc/config/xtensa/xtensa.md
gcc/config/xtensa/xtensa.opt