]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/tree-scalar-evolution.c
re PR middle-end/58484 (ICE in chrec_fold_plus_1, at tree-chrec.c:272 building 416...
authorRichard Biener <rguenther@suse.de>
Fri, 20 Sep 2013 17:49:45 +0000 (17:49 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 20 Sep 2013 17:49:45 +0000 (17:49 +0000)
commita3cc13ccc8f4fce1b3990fa7c722924d42d19d85
treec54ad3c3f957c8c89ffe6012a594fc159e3e1196
parent925f3871dba29771277bd1c5f8371d28f4156e6d
re PR middle-end/58484 (ICE in chrec_fold_plus_1, at tree-chrec.c:272 building 416.gamess)

2013-09-20  Richard Biener  <rguenther@suse.de>

PR middle-end/58484
* tree-scalar-evolution.c (struct scev_info_str): Shrink by
remembering SSA name version and block index.
(new_scev_info_str): Adjust.
(hash_scev_info): Likewise.  Also hash the block index.
(eq_scev_info): Adjust.
(find_var_scev_info): Likewise.
(struct instantiate_cache_entry): Remove.
(struct instantiate_cache_type): Use a htab to map name, block
to chrec.
(instantiate_cache_type::~instantiate_cache_type): Adjust.
(get_instantiated_value_entry): Likewise.
(hash_idx_scev_info, eq_idx_scev_info): New functions.
(instantiate_scev_name): Adjust.

* gfortran.dg/pr58484.f: New testcase.

From-SVN: r202790
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr58484.f [new file with mode: 0644]
gcc/tree-scalar-evolution.c