aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2015-03-26 20:17:44 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2015-03-26 20:17:44 +0100
commit552b2afefbbb827b6b077aa618304c82184605ed (patch)
tree1ed7019126f89cf3cb37841ebf9fbe447015c903
parent8be568519bf08098e056567d57a75c3f38416ac2 (diff)
downloadgcc-552b2afefbbb827b6b077aa618304c82184605ed.zip
gcc-552b2afefbbb827b6b077aa618304c82184605ed.tar.gz
gcc-552b2afefbbb827b6b077aa618304c82184605ed.tar.bz2
re PR tree-optimization/65551 (FAIL: 26_numerics/complex/50880.cc execution test)
PR tree-optimization/65551 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION only for INTEGRAL_TYPE_P types. From-SVN: r221702
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-ssa-sccvn.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f9ea6a0..50610b5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2015-03-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/65551
+ * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
+ TYPE_PRECISION only for INTEGRAL_TYPE_P types.
+
2015-03-26 Richard Biener <rguenther@suse.de>
PR middle-end/65555
diff --git a/gcc/tree-ssa-sccvn.c b/gcc/tree-ssa-sccvn.c
index e417a15..46ce285 100644
--- a/gcc/tree-ssa-sccvn.c
+++ b/gcc/tree-ssa-sccvn.c
@@ -1352,7 +1352,11 @@ fully_constant_vn_reference_p (vn_reference_t ref)
|| TYPE_PRECISION (ref->type) % BITS_PER_UNIT == 0))
{
HOST_WIDE_INT off = 0;
- HOST_WIDE_INT size = TYPE_PRECISION (ref->type);
+ HOST_WIDE_INT size;
+ if (INTEGRAL_TYPE_P (ref->type))
+ size = TYPE_PRECISION (ref->type);
+ else
+ size = tree_to_shwi (TYPE_SIZE (ref->type));
if (size % BITS_PER_UNIT != 0
|| size > MAX_BITSIZE_MODE_ANY_MODE)
return NULL_TREE;