2013-09-20 Richard Biener <rguenther@suse.de>
commitcbb69ef17ebcde26baf1442caeb2655b4ca7d091
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Sep 2013 17:49:45 +0000 (20 17:49 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 20 Sep 2013 17:49:45 +0000 (20 17:49 +0000)
treec54ad3c3f957c8c89ffe6012a594fc159e3e1196
parent9358e89cc4ce3a0e9a34a76bdb13f43a8eea29a9
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202790 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/pr58484.f [new file with mode: 0644]
gcc/tree-scalar-evolution.c