https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91683

--- Comment #20 from Jim Wilson <wilson at gcc dot gnu.org> ---
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

Reply via email to