re PR rtl-optimization/52113 ([lower-subreg.c] ICE: in extract_insn, at recog.c:2123)

PR rtl-optimization/52113
	* lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
	even for decomposable shift/zext insns.

	* gcc.target/avr/pr52113.c: New test.

From-SVN: r183894
This commit is contained in:
Jakub Jelinek 2012-02-04 13:47:55 +01:00 committed by Jakub Jelinek
parent 03548f7bec
commit d5785e7634
4 changed files with 26 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2012-02-04 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/52113
* lower-subreg.c (decompose_multiword_subregs): Call recog_memoized
even for decomposable shift/zext insns.
2012-02-03 Jakub Jelinek <jakub@redhat.com>
Zdenek Dvorak <ook@ucw.cz>

View File

@ -1,5 +1,6 @@
/* Decompose multiword subregs.
Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012
Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>
Ian Lance Taylor <iant@google.com>
@ -1135,10 +1136,11 @@ decompose_multiword_subregs (void)
|| GET_CODE (PATTERN (insn)) == USE)
continue;
recog_memoized (insn);
if (find_decomposable_shift_zext (insn))
continue;
recog_memoized (insn);
extract_insn (insn);
set = simple_move (insn);

View File

@ -1,3 +1,8 @@
2012-02-04 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/52113
* gcc.target/avr/pr52113.c: New test.
2012-02-03 Jakub Jelinek <jakub@redhat.com>
PR rtl-optimization/52092

View File

@ -0,0 +1,11 @@
/* PR rtl-optimization/52113 */
unsigned long v1;
unsigned char v2;
void
foo (void)
{
if (v1 > (v2 * 1000L))
v1 = 0;
}