diff options
author | Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> | 2004-09-16 16:58:01 +0200 |
---|---|---|
committer | Zdenek Dvorak <rakdver@gcc.gnu.org> | 2004-09-16 14:58:01 +0000 |
commit | 2f4675b4822f842055c3f6a5cef01bbed8d264e8 (patch) | |
tree | 83497c6bb39910f542ef7657087dd15d1aac8289 /gcc/tree.h | |
parent | 9c763d1957c4c86fb0d299c71c44f70962959a15 (diff) | |
download | gcc-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.h | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -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); |