diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/pr49712.c | 28 | ||||
-rw-r--r-- | gcc/tree-ssa-loop-im.c | 1 |
4 files changed, 39 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7fb19da..2599e73 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/49712 + * tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle TARGET_MEM_REF. + 2011-07-11 Bernd Schmidt <bernds@codesourcery.com> * genautomata.c (add_arc): Return void. All callers changed. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7d50bd1..88f61cc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-07-12 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/49712 + * gcc.c-torture/execute/pr49712.c: New test. + 2011-07-11 Jason Merrill <jason@redhat.com> PR c++/44609 diff --git a/gcc/testsuite/gcc.c-torture/execute/pr49712.c b/gcc/testsuite/gcc.c-torture/execute/pr49712.c new file mode 100644 index 0000000..b85887b --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr49712.c @@ -0,0 +1,28 @@ +/* PR tree-optimization/49712 */ + +int a[2], b, c, d, e; + +void +foo (int x, int y) +{ +} + +int +bar (void) +{ + int i; + for (; d <= 0; d = 1) + for (i = 0; i < 4; i++) + for (e = 0; e; e = 1) + ; + return 0; +} + +int +main () +{ + for (b = 0; b < 2; b++) + while (c) + foo (a[b] = 0, bar ()); + return 0; +} diff --git a/gcc/tree-ssa-loop-im.c b/gcc/tree-ssa-loop-im.c index 778edd4..3a5608e 100644 --- a/gcc/tree-ssa-loop-im.c +++ b/gcc/tree-ssa-loop-im.c @@ -1982,6 +1982,7 @@ gen_lsm_tmp_name (tree ref) switch (TREE_CODE (ref)) { case MEM_REF: + case TARGET_MEM_REF: gen_lsm_tmp_name (TREE_OPERAND (ref, 0)); lsm_tmp_name_add ("_"); break; |