mirror of git://gcc.gnu.org/git/gcc.git
re PR rtl-optimization/52092 (ICE: internal consistency failure)
PR rtl-optimization/52092 * loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared on get_iv_value result. * gcc.c-torture/compile/pr52092.c: New test. Co-Authored-By: Zdenek Dvorak <ook@ucw.cz> From-SVN: r183869
This commit is contained in:
parent
5b5b0fa908
commit
32410d02e0
|
@ -1,3 +1,10 @@
|
||||||
|
2012-02-03 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
Zdenek Dvorak <ook@ucw.cz>
|
||||||
|
|
||||||
|
PR rtl-optimization/52092
|
||||||
|
* loop-unswitch.c (unswitch_single_loop): Call copy_rtx_if_shared
|
||||||
|
on get_iv_value result.
|
||||||
|
|
||||||
2012-02-02 Andrew Pinski <apinski@cavium.com>
|
2012-02-02 Andrew Pinski <apinski@cavium.com>
|
||||||
|
|
||||||
PR middle-end/47982
|
PR middle-end/47982
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/* Loop unswitching for GNU compiler.
|
/* Loop unswitching for GNU compiler.
|
||||||
Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010
|
Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2012
|
||||||
Free Software Foundation, Inc.
|
Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is part of GCC.
|
This file is part of GCC.
|
||||||
|
@ -367,7 +367,7 @@ unswitch_single_loop (struct loop *loop, rtx cond_checked, int num)
|
||||||
fprintf (dump_file, ";; Unswitching loop\n");
|
fprintf (dump_file, ";; Unswitching loop\n");
|
||||||
|
|
||||||
/* Unswitch the loop on this condition. */
|
/* Unswitch the loop on this condition. */
|
||||||
nloop = unswitch_loop (loop, bbs[i], cond, cinsn);
|
nloop = unswitch_loop (loop, bbs[i], copy_rtx_if_shared (cond), cinsn);
|
||||||
gcc_assert (nloop);
|
gcc_assert (nloop);
|
||||||
|
|
||||||
/* Invoke itself on modified loops. */
|
/* Invoke itself on modified loops. */
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2012-02-03 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
PR rtl-optimization/52092
|
||||||
|
* gcc.c-torture/compile/pr52092.c: New test.
|
||||||
|
|
||||||
2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
|
2012-02-02 Mikael Morin <mikael@gcc.gnu.org>
|
||||||
|
|
||||||
PR fortran/41587
|
PR fortran/41587
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
/* PR rtl-optimization/52092 */
|
||||||
|
|
||||||
|
int a, b, c, d, e, f, g;
|
||||||
|
|
||||||
|
void
|
||||||
|
foo (void)
|
||||||
|
{
|
||||||
|
for (;;)
|
||||||
|
{
|
||||||
|
int *h = 0;
|
||||||
|
int i = 3;
|
||||||
|
int **j = &h;
|
||||||
|
if (e)
|
||||||
|
{
|
||||||
|
c = d || a;
|
||||||
|
g = c ? a : b;
|
||||||
|
if ((char) (i * g))
|
||||||
|
{
|
||||||
|
h = &f;
|
||||||
|
*h = 0;
|
||||||
|
}
|
||||||
|
**j = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue