diff options
author | Jakub Jelinek <jakub@redhat.com> | 2012-02-03 12:55:29 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2012-02-03 12:55:29 +0100 |
commit | 32410d02e0b1e561e61fbfc7de76a24d805518e3 (patch) | |
tree | 0a70c4a8c3ca9a7bc72b852791b251af8f8bafc2 /gcc/loop-unswitch.c | |
parent | 5b5b0fa908dc2042ef1b837d31b44560ee7420a8 (diff) | |
download | gcc-32410d02e0b1e561e61fbfc7de76a24d805518e3.zip gcc-32410d02e0b1e561e61fbfc7de76a24d805518e3.tar.gz gcc-32410d02e0b1e561e61fbfc7de76a24d805518e3.tar.bz2 |
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
Diffstat (limited to 'gcc/loop-unswitch.c')
-rw-r--r-- | gcc/loop-unswitch.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/loop-unswitch.c b/gcc/loop-unswitch.c index 77524d8..78da115 100644 --- a/gcc/loop-unswitch.c +++ b/gcc/loop-unswitch.c @@ -1,5 +1,5 @@ /* 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. 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"); /* 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); /* Invoke itself on modified loops. */ |