aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2004-09-16 16:58:01 +0200
committerZdenek Dvorak <rakdver@gcc.gnu.org>2004-09-16 14:58:01 +0000
commit2f4675b4822f842055c3f6a5cef01bbed8d264e8 (patch)
tree83497c6bb39910f542ef7657087dd15d1aac8289 /gcc/tree.h
parent9c763d1957c4c86fb0d299c71c44f70962959a15 (diff)
downloadgcc-2f4675b4822f842055c3f6a5cef01bbed8d264e8.zip
gcc-2f4675b4822f842055c3f6a5cef01bbed8d264e8.tar.gz
gcc-2f4675b4822f842055c3f6a5cef01bbed8d264e8.tar.bz2
fold-const.c (fold): Fold difference of addresses.
* fold-const.c (fold): Fold difference of addresses. (ptr_difference_const): Moved from tree-ssa-loop-ivopts, based on get_inner_reference. * tree-ssa-loop-ivopts.c (peel_address): Removed. (ptr_difference_const): Moved to fold-const.c. (split_address_cost): Use get_inner_reference instead of peel_address. (ptr_difference_cost): Change type of diff to HOST_WIDE_INT. * tree.h (ptr_difference_const): Export. * tree-ssa-loop-ivopts.c (dump_iv, dump_use, dump_cand): Add induction variable type to the dump. Fix indentation. (idx_find_step): Handle nonconstant array_ref_element_size and array_ref_low_bound. (idx_record_use): Handle array_ref_element_size and array_ref_low_bound. (find_interesting_uses_stmt): Handle memory = nontrivial_expression statements correctly. (get_computation_at, iv_value): Do not unshare expressions here. (rewrite_use_outer): Unshare the expression before it is emitted to code. * tree-ssa-loop-niter.c (unsigned_type_for, signed_type_for): Moved to tree.c. * tree.c (unsigned_type_for, signed_type_for): Moved from tree-ssa-loop-niter.c. Use langhooks. * tree.h (signed_type_for): Export. From-SVN: r87601
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 015f8d3..19ba220 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -2792,6 +2792,7 @@ extern tree build_empty_stmt (void);
extern tree make_signed_type (int);
extern tree make_unsigned_type (int);
+extern tree signed_type_for (tree);
extern tree unsigned_type_for (tree);
extern void initialize_sizetypes (bool);
extern void set_sizetype (tree);
@@ -3464,6 +3465,8 @@ extern tree constant_boolean_node (int, tree);
extern bool tree_swap_operands_p (tree, tree, bool);
extern enum tree_code swap_tree_comparison (enum tree_code);
+extern bool ptr_difference_const (tree, tree, HOST_WIDE_INT *);
+
/* In builtins.c */
extern tree fold_builtin (tree, bool);
extern tree fold_builtin_fputs (tree, bool, bool, tree);