diff options
author | Richard Guenther <rguenther@suse.de> | 2011-03-01 13:18:25 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2011-03-01 13:18:25 +0000 |
commit | f2ca11ca979bebcee53d00eb0ac712289d6e3e3e (patch) | |
tree | 697d1e535aed98c5072e627d3220ef8acb308f1e /gcc | |
parent | 7a00d9eaf66d34d3e26938e890a4fb880df531f4 (diff) | |
download | gcc-f2ca11ca979bebcee53d00eb0ac712289d6e3e3e.zip gcc-f2ca11ca979bebcee53d00eb0ac712289d6e3e3e.tar.gz gcc-f2ca11ca979bebcee53d00eb0ac712289d6e3e3e.tar.bz2 |
re PR tree-optimization/47890 (internal compiler error: in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1186)
2011-03-01 Richard Guenther <rguenther@suse.de>
PR tree-optimization/47890
* tree-vect-loop.c (get_initial_def_for_induction): Set
related stmt properly.
* gcc.dg/torture/pr47890.c: New testcase.
From-SVN: r170593
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/torture/pr47890.c | 9 | ||||
-rw-r--r-- | gcc/tree-vect-loop.c | 4 |
4 files changed, 24 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 79487c1..c64de9d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2011-03-01 Richard Guenther <rguenther@suse.de> + PR tree-optimization/47890 + * tree-vect-loop.c (get_initial_def_for_induction): Set + related stmt properly. + +2011-03-01 Richard Guenther <rguenther@suse.de> + PR lto/47924 * lto-streamer.c (lto_record_common_node): Also register the canonical type. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d5e79f8..94bbe7e 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2011-03-01 Richard Guenther <rguenther@suse.de> + PR tree-optimization/47890 + * gcc.dg/torture/pr47890.c: New testcase. + +2011-03-01 Richard Guenther <rguenther@suse.de> + PR lto/47924 * gcc.dg/lto/pr47924_0.c: New testcase. diff --git a/gcc/testsuite/gcc.dg/torture/pr47890.c b/gcc/testsuite/gcc.dg/torture/pr47890.c new file mode 100644 index 0000000..83cb5e6 --- /dev/null +++ b/gcc/testsuite/gcc.dg/torture/pr47890.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ + +void f(char *s) +{ + signed short i; + + for (i = 0; i < 19; i = i + 1) + s[i] = i; +} diff --git a/gcc/tree-vect-loop.c b/gcc/tree-vect-loop.c index d474688..7692eb8 100644 --- a/gcc/tree-vect-loop.c +++ b/gcc/tree-vect-loop.c @@ -2886,6 +2886,10 @@ get_initial_def_for_induction (gimple iv_phi) gimple_assign_set_lhs (new_stmt, induc_def); si = gsi_start_bb (bb); gsi_insert_before (&si, new_stmt, GSI_SAME_STMT); + set_vinfo_for_stmt (new_stmt, + new_stmt_vec_info (new_stmt, loop_vinfo, NULL)); + STMT_VINFO_RELATED_STMT (vinfo_for_stmt (new_stmt)) + = STMT_VINFO_RELATED_STMT (vinfo_for_stmt (induction_phi)); } return induc_def; |