diff options
author | Jeff Law <law@redhat.com> | 2006-02-16 21:15:32 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2006-02-16 21:15:32 -0700 |
commit | b16caf72c73fd21bc729b9f039869800194bb1a0 (patch) | |
tree | baa21343ce68c59242247d5fe6009ab29fba14f3 /gcc/tree.h | |
parent | 7f18f91710ecaf3f6f90989716f07f5a247d0764 (diff) | |
download | gcc-b16caf72c73fd21bc729b9f039869800194bb1a0.zip gcc-b16caf72c73fd21bc729b9f039869800194bb1a0.tar.gz gcc-b16caf72c73fd21bc729b9f039869800194bb1a0.tar.bz2 |
tree-vrp.c (set_value_range_to_nonnegative): New function.
* tree-vrp.c (set_value_range_to_nonnegative): New function.
(vrp_expr_computes_nonnegative, ssa_name_nonnegative_p): Likewise.
(ssa_name_nonzero_p): Likewise.
(get_value_range): Return NULL if VRP is not running.
(extract_range_from_expr): Fallback to tree_expr_XXX_p if
VRP routines do not discover a range.
(vrp_finalize): Clear VR_VALUE to indicate VRP is not running.
* tree.h (ssa_name_nonzero_p, ssa_name_nonnegative_p): Prototype.
* fold-const.c (tree_expr_nonzero_p): For SSA_NAMEs, query VRP.
(tree_expr_nonnegative_p): Similarly.
* tree-ssa-dom.c (nonzero_vars, nonzero_vars_stack): Remove.
(restore_nonzero_vars_to_original_value): Remove.
(unsafe_associative_fp_binop): Remove.
(tree_ssa_dominator_optimize): Remove initialization and
finalization of nonzero_vars and nonzero_vars_stack.
(dom_opt_initialize_block): No longer push marker on
nonzero_vars_stack.
(dom_opt_finalize_block): No longer call
restore_nonzero_vars_to_original_value.
(record_equivalences_from_phis): No longer look for
nonzero PHI arguments.
(cprop_into_successor_phis): No longer propagate nonzero
property into PHI arguments. Lose unused argument. Caller
updated.
(record_equivalences_from_stmt): No longer record nonzero
values for SSA_NAMEs.
(lookup_avail_expr): No longer use nonzero_vars.
* gcc.dg/tree-ssa/vrp24.c: Update expected output.
* gcc.dg/tree-ssa/vrp26.c: New test.
From-SVN: r111175
Diffstat (limited to 'gcc/tree.h')
-rw-r--r-- | gcc/tree.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -4520,6 +4520,10 @@ extern int tree_map_eq (const void *, const void *); extern tree tree_mem_ref_addr (tree, tree); extern void copy_mem_ref_info (tree, tree); +/* In tree-vrp.c */ +extern bool ssa_name_nonzero_p (tree); +extern bool ssa_name_nonnegative_p (tree); + /* In tree-object-size.c. */ extern void init_object_sizes (void); extern void fini_object_sizes (void); |