diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-02-16 10:04:00 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-02-16 10:04:00 +0100 |
commit | 33006d53fd3adf2baae85b625e3ec99908b7a31c (patch) | |
tree | d5f0990f699df7b85a6e9cdea483db0c2c48652a /gcc/lra-int.h | |
parent | c9b34e397c61aa6aec556189bfeac329dee052a6 (diff) |
re PR rtl-optimization/83723 (ICE: in gen_rtx_SUBREG, at emit-rtl.c:1010)
PR rtl-optimization/83723
* lra-int.h (lra_substitute_pseudo): Add DEBUG_P argument.
* lra.c (lra_substitute_pseudo): Likewise. If true, use
gen_rtx_raw_SUBREG instead of gen_rtx_SUBREG. Pass DEBUG_P to
recursive calls.
(lra_substitute_pseudo_within_insn): Adjust lra_substitute_pseudo
callers.
* lra-constraints.c (inherit_reload_reg, split_reg): Likewise.
* gcc.dg/pr83723.c: New test.
From-SVN: r257725
Diffstat (limited to 'gcc/lra-int.h')
-rw-r--r-- | gcc/lra-int.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/lra-int.h b/gcc/lra-int.h index d737816146f..662bc4c14ed 100644 --- a/gcc/lra-int.h +++ b/gcc/lra-int.h @@ -309,7 +309,7 @@ extern void lra_update_dups (lra_insn_recog_data_t, signed char *); extern void lra_process_new_insns (rtx_insn *, rtx_insn *, rtx_insn *, const char *); -extern bool lra_substitute_pseudo (rtx *, int, rtx, bool); +extern bool lra_substitute_pseudo (rtx *, int, rtx, bool, bool); extern bool lra_substitute_pseudo_within_insn (rtx_insn *, int, rtx, bool); extern lra_insn_recog_data_t lra_set_insn_recog_data (rtx_insn *); |