diff options
author | Jakub Jelinek <jakub@redhat.com> | 2011-02-18 11:42:48 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2011-02-18 11:42:48 +0100 |
commit | abfea58d53f78e426da355c0618a868056e30592 (patch) | |
tree | 0da94db984ee09ac7a3462146c30bca3f5352b87 /gcc | |
parent | 6e2062b00f9270676ded3f8bfe16273843f449d6 (diff) | |
download | gcc-abfea58d53f78e426da355c0618a868056e30592.zip gcc-abfea58d53f78e426da355c0618a868056e30592.tar.gz gcc-abfea58d53f78e426da355c0618a868056e30592.tar.bz2 |
re PR debug/47780 (-fcompare-debug failure with -O -fgcse -fgcse-las -fstack-protector-all)
PR debug/47780
* cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to
avoid invalid rtx sharing.
* gcc.target/i386/pr47780.c: New test.
From-SVN: r170270
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cfgexpand.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr47780.c | 14 |
4 files changed, 26 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f447081..41c09ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-02-18 Jakub Jelinek <jakub@redhat.com> + + PR debug/47780 + * cfgexpand.c (expand_debug_expr) <case SSA_NAME>: Call copy_rtx to + avoid invalid rtx sharing. + 2011-02-18 Gerald Pfeifer <gerald@pfeifer.com> * doc/cpp.texi (Obsolete Features): Add background on the diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c index 897d0f9..ee51ba9 100644 --- a/gcc/cfgexpand.c +++ b/gcc/cfgexpand.c @@ -3104,7 +3104,7 @@ expand_debug_expr (tree exp) gcc_assert (part >= 0 && (unsigned)part < SA.map->num_partitions); - op0 = SA.partition_to_pseudo[part]; + op0 = copy_rtx (SA.partition_to_pseudo[part]); } goto adjust_mode; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 998cfc2..40e2553 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2011-02-18 Jakub Jelinek <jakub@redhat.com> + + PR debug/47780 + * gcc.target/i386/pr47780.c: New test. + 2011-02-18 Janus Weil <janus@gcc.gnu.org> PR fortran/47767 diff --git a/gcc/testsuite/gcc.target/i386/pr47780.c b/gcc/testsuite/gcc.target/i386/pr47780.c new file mode 100644 index 0000000..89fe409 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr47780.c @@ -0,0 +1,14 @@ +/* PR debug/47780 */ +/* { dg-do compile } */ +/* { dg-options "-O -fgcse -fgcse-las -fstack-protector-all -fno-tree-ccp -fno-tree-dominator-opts -fcompare-debug -Wno-psabi" } */ + +typedef int V2SF __attribute__ ((vector_size (128))); + +V2SF +foo (int x, V2SF a) +{ + V2SF b = a + (V2SF) {}; + while (x--) + a += b; + return a; +} |