From d846aac9be9a94adc1be78166db42df57da3490a Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Fri, 21 Dec 2012 10:32:43 +0000 Subject: [PATCH] re PR middle-end/52996 (ice in verify_loop_structure, at cfgloop.c:1567) 2012-12-21 Richard Biener PR tree-optimization/52996 * gcc.dg/torture/pr52996.c: New testcase. From-SVN: r194659 --- gcc/testsuite/ChangeLog | 5 ++++ gcc/testsuite/gcc.dg/torture/pr52996.c | 33 ++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 gcc/testsuite/gcc.dg/torture/pr52996.c diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index b89fa028ac6c..a51f09e2aadd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-12-21 Richard Biener + + PR tree-optimization/52996 + * gcc.dg/torture/pr52996.c: New testcase. + 2012-12-20 Jakub Jelinek PR middle-end/55750 diff --git a/gcc/testsuite/gcc.dg/torture/pr52996.c b/gcc/testsuite/gcc.dg/torture/pr52996.c new file mode 100644 index 000000000000..200bc36b2aa0 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr52996.c @@ -0,0 +1,33 @@ +/* { dg-do compile } */ +/* { dg-options "-funswitch-loops" } */ + +int a, b, c, d, e, f; +void +fn1 () +{ + int g, h; +lbl_173: + if (a) + c++; +lbl_158: + e = 0; + h = 0; + for (; h > -8; h--) + { + g = 0; + for (; g <= 0; g += 1) + { + d = 1; + for (; d >= 0; d -= 1) + a = 1; + if (b) + break; + if (f) + return; + if (h) + goto lbl_158; + } + } + goto lbl_173; +} + -- 2.47.3