aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.c
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.c
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.c')
-rw-r--r--gcc/tree.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index 392d997..05bbc1e 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -5866,4 +5866,20 @@ tree_fold_gcd (tree a, tree b)
}
}
+/* Returns unsigned variant of TYPE. */
+
+tree
+unsigned_type_for (tree type)
+{
+ return lang_hooks.types.unsigned_type (type);
+}
+
+/* Returns signed variant of TYPE. */
+
+tree
+signed_type_for (tree type)
+{
+ return lang_hooks.types.signed_type (type);
+}
+
#include "gt-tree.h"