diff options
author | Andrew Pinski <pinskia@gmail.com> | 2011-07-12 11:46:10 -0700 |
---|---|---|
committer | Andrew Pinski <pinskia@gcc.gnu.org> | 2011-07-12 11:46:10 -0700 |
commit | 10b75750f251ad6a5cdeb505f51ddc4638d81e14 (patch) | |
tree | b6aaa0b34d8aa4cfcc78d2a0b9f334d368d08d62 | |
parent | 4f42d714a265f15349dc745ff59a49b4c0a5b6c3 (diff) | |
download | gcc-10b75750f251ad6a5cdeb505f51ddc4638d81e14.zip gcc-10b75750f251ad6a5cdeb505f51ddc4638d81e14.tar.gz gcc-10b75750f251ad6a5cdeb505f51ddc4638d81e14.tar.bz2 |
re PR rtl-optimization/49474 (ppc ICEs with -O3 (bootstrapping with -O3 and --disable-checking))
2011-07-12 Andrew Pinski <pinskia@gmail.com>
PR rtl-opt/49474
* cprop.c (find_implicit_sets): Correct the condition.
2011-07-12 Andrew Pinski <pinskia@gmail.com>
PR rtl-opt/49474
* gcc.c-torture/compile/pr49474.c: New testcase.
From-SVN: r176213
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cprop.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/compile/pr49474.c | 16 |
4 files changed, 27 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 462ee7d..f3abf4d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Andrew Pinski <pinskia@gmail.com> + + PR rtl-opt/49474 + * cprop.c (find_implicit_sets): Correct the condition. + 2011-07-12 Richard Henderson <rth@redhat.com> PR target/49713 diff --git a/gcc/cprop.c b/gcc/cprop.c index 83193b9..584ffd2 100644 --- a/gcc/cprop.c +++ b/gcc/cprop.c @@ -1332,7 +1332,7 @@ find_implicit_sets (void) FOR_EACH_BB (bb) { /* Check for more than one successor. */ - if (! EDGE_COUNT (bb->succs) > 1) + if (EDGE_COUNT (bb->succs) <= 1) continue; cond = fis_get_condition (BB_END (bb)); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 88f61cc..5d1cab6 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Andrew Pinski <pinskia@gmail.com> + + PR rtl-opt/49474 + * gcc.c-torture/compile/pr49474.c: New testcase. + 2011-07-12 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/49712 diff --git a/gcc/testsuite/gcc.c-torture/compile/pr49474.c b/gcc/testsuite/gcc.c-torture/compile/pr49474.c new file mode 100644 index 0000000..0368ccb --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/pr49474.c @@ -0,0 +1,16 @@ +typedef struct gfc_formal_arglist +{ + int next; +} +gfc_actual_arglist; +update_arglist_pass (gfc_actual_arglist* lst, int po, unsigned argpos, + const char *name) +{ + ((void)(__builtin_expect(!(argpos > 0), 0) ? __builtin_unreachable(), 0 : 0)); + if (argpos == 1) + return 0; + if (lst) + lst->next = update_arglist_pass (lst->next, po, argpos - 1, name); + else + lst = update_arglist_pass (((void *)0), po, argpos - 1, name); +} |