aboutsummaryrefslogtreecommitdiff
path: root/gcc/value-prof.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@gcc.gnu.org>2016-01-13 20:21:59 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2016-01-13 20:21:59 +0100
commit2ad3adf102641812fe09742f545f8565bebd74ac (patch)
tree5cf0ee272a52d3041c573de778920af037820ca4 /gcc/value-prof.c
parent260936f29d63bb0cebfd624804c915e528aea575 (diff)
downloadgcc-2ad3adf102641812fe09742f545f8565bebd74ac.zip
gcc-2ad3adf102641812fe09742f545f8565bebd74ac.tar.gz
gcc-2ad3adf102641812fe09742f545f8565bebd74ac.tar.bz2
re PR middle-end/69156 (gcc.dg/pr59630.c: ICE: verify_gimple failed: non-trivial conversion at assignment with -fno-tree-ccp)
PR tree-optimization/69156 * gimple.c (validate_type): Removed. (gimple_builtin_call_types_compatible_p): Use useless_type_conversion_p instead of validate_type. * value-prof.c (gimple_stringop_fixed_value): Fold icall_size to correct type. * gcc.dg/pr69156.c: New test. From-SVN: r232342
Diffstat (limited to 'gcc/value-prof.c')
-rw-r--r--gcc/value-prof.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/value-prof.c b/gcc/value-prof.c
index 336b8ae..f9574b6 100644
--- a/gcc/value-prof.c
+++ b/gcc/value-prof.c
@@ -1697,7 +1697,8 @@ gimple_stringop_fixed_value (gcall *vcall_stmt, tree icall_size, int prob,
gimple_set_vuse (vcall_stmt, NULL);
update_stmt (vcall_stmt);
icall_stmt = as_a <gcall *> (gimple_copy (vcall_stmt));
- gimple_call_set_arg (icall_stmt, size_arg, icall_size);
+ gimple_call_set_arg (icall_stmt, size_arg,
+ fold_convert (optype, icall_size));
gsi_insert_before (&gsi, icall_stmt, GSI_SAME_STMT);
/* Fix CFG. */