diff options
author | Kugan Vivekanandarajah <kuganv@linaro.org> | 2016-09-27 03:41:14 +0000 |
---|---|---|
committer | Kugan Vivekanandarajah <kugan@gcc.gnu.org> | 2016-09-27 03:41:14 +0000 |
commit | 3a4228babc083065faaf41568fbc92e0e562a401 (patch) | |
tree | f998314ef3804e0b57a614c034f940830e779812 /gcc/tree-vrp.c | |
parent | 963da599303d6abae1507c2b4fea29c941b10289 (diff) | |
download | gcc-3a4228babc083065faaf41568fbc92e0e562a401.zip gcc-3a4228babc083065faaf41568fbc92e0e562a401.tar.gz gcc-3a4228babc083065faaf41568fbc92e0e562a401.tar.bz2 |
Fix ipa-vrp convert value_range
gcc/ChangeLog:
2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
* ipa-prop.c (ipa_compute_jump_functions_for_edge): Use
extract_range_from_unary_expr to convert value_range.
* tree-vrp.c (extract_range_from_unary_expr_1): Rename to.
(extract_range_from_unary_expr): This.
* tree-vrp.h (extract_range_from_unary_expr): Declare.
gcc/testsuite/ChangeLog:
2016-09-27 Kugan Vivekanandarajah <kuganv@linaro.org>
PR ipa/77677
* gcc.dg/torture/pr77677-2.c: New test.
From-SVN: r240517
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 3c75a0d..35c06b8 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -3281,10 +3281,10 @@ extract_range_from_binary_expr (value_range *vr, the range of its operand *VR0 with type OP0_TYPE with resulting type TYPE. The resulting range is stored in *VR. */ -static void -extract_range_from_unary_expr_1 (value_range *vr, - enum tree_code code, tree type, - value_range *vr0_, tree op0_type) +void +extract_range_from_unary_expr (value_range *vr, + enum tree_code code, tree type, + value_range *vr0_, tree op0_type) { value_range vr0 = *vr0_, vrtem0 = VR_INITIALIZER, vrtem1 = VR_INITIALIZER; @@ -3337,12 +3337,12 @@ extract_range_from_unary_expr_1 (value_range *vr, if (vr0.type == VR_ANTI_RANGE && ranges_from_anti_range (&vr0, &vrtem0, &vrtem1)) { - extract_range_from_unary_expr_1 (vr, code, type, &vrtem0, op0_type); + extract_range_from_unary_expr (vr, code, type, &vrtem0, op0_type); if (vrtem1.type != VR_UNDEFINED) { value_range vrres = VR_INITIALIZER; - extract_range_from_unary_expr_1 (&vrres, code, type, - &vrtem1, op0_type); + extract_range_from_unary_expr (&vrres, code, type, + &vrtem1, op0_type); vrp_meet (vr, &vrres); } return; @@ -3597,7 +3597,7 @@ extract_range_from_unary_expr (value_range *vr, enum tree_code code, else set_value_range_to_varying (&vr0); - extract_range_from_unary_expr_1 (vr, code, type, &vr0, TREE_TYPE (op0)); + extract_range_from_unary_expr (vr, code, type, &vr0, TREE_TYPE (op0)); } |