This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r275925 - in /trunk/gcc: ChangeLog config/riscv...
- From: wilson at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 19 Sep 2019 01:19:25 -0000
- Subject: r275925 - in /trunk/gcc: ChangeLog config/riscv...
Author: wilson
Date: Thu Sep 19 01:19:25 2019
New Revision: 275925
URL: https://gcc.gnu.org/viewcvs?rev=275925&root=gcc&view=rev
Log:
RISC-V: Fix more splitters accidentally calling gen_reg_rtx.
PR target/91683
* config/riscv/riscv-protos.h (riscv_split_symbol): New bool parameter.
(riscv_move_integer): Likewise.
* config/riscv/riscv.c (riscv_split_integer): Pass FALSE for new
riscv_move_integer arg.
(riscv_legitimize_move): Likewise.
(riscv_force_temporary): New parameter in_splitter. Don't call
force_reg if true.
(riscv_unspec_offset_high): Pass FALSE for new riscv_force_temporary
arg.
(riscv_add_offset): Likewise.
(riscv_split_symbol): New parameter in_splitter. Pass to
riscv_force_temporary.
(riscv_legitimize_address): Pass FALSE for new riscv_split_symbol
arg.
(riscv_move_integer): New parameter in_splitter. New local
can_create_psuedo. Don't call riscv_split_integer or force_reg when
in_splitter TRUE.
(riscv_legitimize_const_move): Pass FALSE for new riscv_move_integer,
riscv_split_symbol, and riscv_force_temporary args.
* config/riscv/riscv.md (low<mode>+1): Pass TRUE for new
riscv_move_integer arg.
(low<mode>+2): Pass TRUE for new riscv_split_symbol arg.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/riscv/riscv-protos.h
trunk/gcc/config/riscv/riscv.c
trunk/gcc/config/riscv/riscv.md