diff options
author | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-01-13 20:21:59 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-01-13 20:21:59 +0100 |
commit | 2ad3adf102641812fe09742f545f8565bebd74ac (patch) | |
tree | 5cf0ee272a52d3041c573de778920af037820ca4 /gcc/value-prof.c | |
parent | 260936f29d63bb0cebfd624804c915e528aea575 (diff) | |
download | gcc-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.c | 3 |
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. */ |