backport: re PR rtl-optimization/49619 (ICE in simplify_subreg, at simplify-rtx.c:5362)
Backport from mainline 2011-07-04 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/49619 * combine.c (combine_simplify_rtx): In PLUS -> IOR simplification pass VOIDmode as op0_mode to recursive call. * gcc.dg/pr49619.c: New test. From-SVN: r176485
This commit is contained in:
parent
26d5e2ee02
commit
1ae304212d
|
@ -1,6 +1,12 @@
|
|||
2011-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backport from mainline
|
||||
2011-07-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/49619
|
||||
* combine.c (combine_simplify_rtx): In PLUS -> IOR simplification
|
||||
pass VOIDmode as op0_mode to recursive call.
|
||||
|
||||
2011-05-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/49165
|
||||
|
|
|
@ -4983,7 +4983,7 @@ combine_simplify_rtx (rtx x, enum machine_mode op0_mode, int in_dest)
|
|||
{
|
||||
/* Try to simplify the expression further. */
|
||||
rtx tor = simplify_gen_binary (IOR, mode, XEXP (x, 0), XEXP (x, 1));
|
||||
temp = combine_simplify_rtx (tor, mode, in_dest);
|
||||
temp = combine_simplify_rtx (tor, VOIDmode, in_dest);
|
||||
|
||||
/* If we could, great. If not, do not go ahead with the IOR
|
||||
replacement, since PLUS appears in many special purpose
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
2011-07-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
Backport from mainline
|
||||
2011-07-04 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/49619
|
||||
* gcc.dg/pr49619.c: New test.
|
||||
|
||||
2011-05-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/49165
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
/* PR rtl-optimization/49619 */
|
||||
/* { dg-do compile } */
|
||||
/* { dg-options "-O -fno-tree-fre" } */
|
||||
|
||||
extern int a, b;
|
||||
|
||||
void
|
||||
foo (int x)
|
||||
{
|
||||
a = 2;
|
||||
b = 0;
|
||||
b = (a && ((a = 1, 0 >= b) || (short) (x + (b & x))));
|
||||
}
|
Loading…
Reference in New Issue