diff options
author | Richard Biener <rguenther@suse.de> | 2020-01-21 10:37:18 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-01-21 12:54:08 +0100 |
commit | 01e9f1812c72c940172700971179d7726b7a3050 (patch) | |
tree | df25df2f795f0e78d452406e2a8562bfb3c7e364 /gcc/fortran/symbol.c | |
parent | 6fc2f9337311c11dabcc464c808cbef205f17a52 (diff) | |
download | gcc-01e9f1812c72c940172700971179d7726b7a3050.zip gcc-01e9f1812c72c940172700971179d7726b7a3050.tar.gz gcc-01e9f1812c72c940172700971179d7726b7a3050.tar.bz2 |
tree-optimization/92328 fix value-number with bogus type
We were actually value-numbering two entities with different type
the same rather than just having the same representation in the
hashtable. The following fixes that by wrapping the value in a
to be inserted VIEW_CONVERT_EXPR.
2020-01-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/92328
* tree-ssa-sccvn.c (vn_reference_lookup_3): Preserve
type when value-numbering same-sized store by inserting a
VIEW_CONVERT_EXPR.
(eliminate_dom_walker::eliminate_stmt): When eliminating
a redundant store handle bit-reinterpretation of the same value.
* gcc.dg/torture/pr92328.c: New testcase.
Diffstat (limited to 'gcc/fortran/symbol.c')
0 files changed, 0 insertions, 0 deletions