diff options
author | Richard Biener <rguenther@suse.de> | 2021-07-16 14:53:42 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-07-19 07:59:43 +0200 |
commit | 4a21a8c34a707e88f450375e3c7d593be75162f4 (patch) | |
tree | e7bc4d81323b916aa15380088689036ea0111147 /gcc/tree-vrp.c | |
parent | bdea84c4b5773723fa3ac7fa01f33542093864d5 (diff) | |
download | gcc-4a21a8c34a707e88f450375e3c7d593be75162f4.zip gcc-4a21a8c34a707e88f450375e3c7d593be75162f4.tar.gz gcc-4a21a8c34a707e88f450375e3c7d593be75162f4.tar.bz2 |
Remove gimple_expr_type uses from value-range code
This removes the last uses from value-range code.
2021-07-16 Richard Biener <rguenther@suse.de>
* tree-vrp.c (register_edge_assert_for_2): Use the
type from the LHS.
(vrp_folder::fold_predicate_in): Likewise.
* vr-values.c (gimple_assign_nonzero_p): Likewise.
(vr_values::extract_range_from_comparison): Likewise.
(vr_values::extract_range_from_ubsan_builtin): Use the
type of the first operand.
(vr_values::extract_range_basic): Push down type
computation, use the appropriate LHS.
(vr_values::extract_range_from_assignment): Use the
type of the LHS.
Diffstat (limited to 'gcc/tree-vrp.c')
-rw-r--r-- | gcc/tree-vrp.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/gcc/tree-vrp.c b/gcc/tree-vrp.c index 0565c9b..a9c31bc 100644 --- a/gcc/tree-vrp.c +++ b/gcc/tree-vrp.c @@ -1484,13 +1484,13 @@ register_edge_assert_for_2 (tree name, edge e, } /* Extract NAME2 from the (optional) sign-changing cast. */ - if (gimple_assign_cast_p (def_stmt)) + if (gassign *ass = dyn_cast <gassign *> (def_stmt)) { - if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (def_stmt)) - && ! TYPE_UNSIGNED (TREE_TYPE (gimple_assign_rhs1 (def_stmt))) - && (TYPE_PRECISION (gimple_expr_type (def_stmt)) - == TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (def_stmt))))) - name3 = gimple_assign_rhs1 (def_stmt); + if (CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (ass)) + && ! TYPE_UNSIGNED (TREE_TYPE (gimple_assign_rhs1 (ass))) + && (TYPE_PRECISION (TREE_TYPE (gimple_assign_lhs (ass))) + == TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (ass))))) + name3 = gimple_assign_rhs1 (ass); } /* If name3 is used later, create an ASSERT_EXPR for it. */ @@ -4119,7 +4119,7 @@ vrp_folder::fold_predicate_in (gimple_stmt_iterator *si) if (val) { if (assignment_p) - val = fold_convert (gimple_expr_type (stmt), val); + val = fold_convert (TREE_TYPE (gimple_assign_lhs (stmt)), val); if (dump_file) { |