From: Uros Bizjak Date: Tue, 6 Nov 2012 09:16:34 +0000 (+0100) Subject: re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=11e185566b2122be2da3d71878286aeec0c71f10;p=gcc.git re PR target/41993 ([sh] ICE in create_pre_exit, at mode-switching.c:399) PR target/41993 * mode-switching.c (create_pre_exit): Set return_copy to last_insn when copy_start is a pseudo reg. Co-Authored-By: Kaz Kojima From-SVN: r193210 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fff511fcb15..5f9bb4461b7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2012-11-06 Uros Bizjak + Kaz Kojima + + PR target/41993 + * mode-switching.c (create_pre_exit): Set return_copy to + last_insn when copy_start is a pseudo reg. + 2012-11-06 Andrey Turetskiy * config/i386/i386.c (bdesc_args): Rename CODE_FOR_avx2_umulhrswv16hi3 to diff --git a/gcc/mode-switching.c b/gcc/mode-switching.c index 2f7455a033c..386f8d1abe9 100644 --- a/gcc/mode-switching.c +++ b/gcc/mode-switching.c @@ -324,7 +324,10 @@ create_pre_exit (int n_entities, int *entity_map, const int *num_modes) else break; if (copy_start >= FIRST_PSEUDO_REGISTER) - break; + { + last_insn = return_copy; + continue; + } copy_num = hard_regno_nregs[copy_start][GET_MODE (copy_reg)];