double-int.h (tree_to_double_int): Remove macro.
* double-int.h (tree_to_double_int): Remove macro. (double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ... * tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here. (tree_to_double_int): New function. * double-int.c (double_int_to_tree, double_int_fits_to_tree_p): Move ... * tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here. From-SVN: r158993
This commit is contained in:
parent
8eb7bc3cda
commit
e6693cfa84
|
@ -1,3 +1,13 @@
|
|||
2010-05-03 Anatoly Sokolov <aesok@post.ru>
|
||||
|
||||
* double-int.h (tree_to_double_int): Remove macro.
|
||||
(double_int_to_tree, double_int_fits_to_tree_p): Move prototypes ...
|
||||
* tree.h (double_int_to_tree, double_int_fits_to_tree_p): ... here.
|
||||
(tree_to_double_int): New function.
|
||||
* double-int.c (double_int_to_tree, double_int_fits_to_tree_p):
|
||||
Move ...
|
||||
* tree.c (double_int_to_tree, double_int_fits_to_tree_p): ... here.
|
||||
|
||||
2010-05-03 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR tree-optimization/43971
|
||||
|
|
|
@ -1049,30 +1049,6 @@ double_int_rshift (double_int a, HOST_WIDE_INT count, unsigned int prec, bool ar
|
|||
return ret;
|
||||
}
|
||||
|
||||
/* Constructs tree in type TYPE from with value given by CST. Signedness of CST
|
||||
is assumed to be the same as the signedness of TYPE. */
|
||||
|
||||
tree
|
||||
double_int_to_tree (tree type, double_int cst)
|
||||
{
|
||||
cst = double_int_ext (cst, TYPE_PRECISION (type), TYPE_UNSIGNED (type));
|
||||
|
||||
return build_int_cst_wide (type, cst.low, cst.high);
|
||||
}
|
||||
|
||||
/* Returns true if CST fits into range of TYPE. Signedness of CST is assumed
|
||||
to be the same as the signedness of TYPE. */
|
||||
|
||||
bool
|
||||
double_int_fits_to_tree_p (const_tree type, double_int cst)
|
||||
{
|
||||
double_int ext = double_int_ext (cst,
|
||||
TYPE_PRECISION (type),
|
||||
TYPE_UNSIGNED (type));
|
||||
|
||||
return double_int_equal_p (cst, ext);
|
||||
}
|
||||
|
||||
/* Returns -1 if A < B, 0 if A == B and 1 if A > B. Signedness of the
|
||||
comparison is given by UNS. */
|
||||
|
||||
|
|
|
@ -61,13 +61,6 @@ typedef struct
|
|||
|
||||
/* Constructors and conversions. */
|
||||
|
||||
tree double_int_to_tree (tree, double_int);
|
||||
bool double_int_fits_to_tree_p (const_tree, double_int);
|
||||
|
||||
/* Constructs double_int from tree CST. */
|
||||
|
||||
#define tree_to_double_int(cst) (TREE_INT_CST (cst))
|
||||
|
||||
/* Constructs double_int from integer CST. The bits over the precision of
|
||||
HOST_WIDE_INT are filled with the sign bit. */
|
||||
|
||||
|
|
24
gcc/tree.c
24
gcc/tree.c
|
@ -1082,6 +1082,30 @@ build_int_cst_wide_type (tree type,
|
|||
return build_int_cst_wide (type, low, high);
|
||||
}
|
||||
|
||||
/* Constructs tree in type TYPE from with value given by CST. Signedness
|
||||
of CST is assumed to be the same as the signedness of TYPE. */
|
||||
|
||||
tree
|
||||
double_int_to_tree (tree type, double_int cst)
|
||||
{
|
||||
cst = double_int_ext (cst, TYPE_PRECISION (type), TYPE_UNSIGNED (type));
|
||||
|
||||
return build_int_cst_wide (type, cst.low, cst.high);
|
||||
}
|
||||
|
||||
/* Returns true if CST fits into range of TYPE. Signedness of CST is assumed
|
||||
to be the same as the signedness of TYPE. */
|
||||
|
||||
bool
|
||||
double_int_fits_to_tree_p (const_tree type, double_int cst)
|
||||
{
|
||||
double_int ext = double_int_ext (cst,
|
||||
TYPE_PRECISION (type),
|
||||
TYPE_UNSIGNED (type));
|
||||
|
||||
return double_int_equal_p (cst, ext);
|
||||
}
|
||||
|
||||
/* These are the hash table functions for the hash table of INTEGER_CST
|
||||
nodes of a sizetype. */
|
||||
|
||||
|
|
11
gcc/tree.h
11
gcc/tree.h
|
@ -3998,6 +3998,17 @@ extern tree build_var_debug_value_stat (tree, tree MEM_STAT_DECL);
|
|||
#define build_var_debug_value(t1,t2) \
|
||||
build_var_debug_value_stat (t1,t2 MEM_STAT_INFO)
|
||||
|
||||
/* Constructs double_int from tree CST. */
|
||||
|
||||
static inline double_int
|
||||
tree_to_double_int (const_tree cst)
|
||||
{
|
||||
return TREE_INT_CST (cst);
|
||||
}
|
||||
|
||||
extern tree double_int_to_tree (tree, double_int);
|
||||
extern bool double_int_fits_to_tree_p (const_tree, double_int);
|
||||
|
||||
extern tree build_int_cst (tree, HOST_WIDE_INT);
|
||||
extern tree build_int_cst_type (tree, HOST_WIDE_INT);
|
||||
extern tree build_int_cstu (tree, unsigned HOST_WIDE_INT);
|
||||
|
|
Loading…
Reference in New Issue