aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorAnatoly Sokolov <aesok@post.ru>2010-05-01 21:52:02 +0400
committerAnatoly Sokolov <aesok@gcc.gnu.org>2010-05-01 21:52:02 +0400
commit3e93ff81965fedc0eaa06c8646a0ae6788f2fec5 (patch)
tree04b921bafe9da0814bfd9d39ff3475fef41e5805 /gcc/rtl.h
parentbcbc9564cdd3760173c91b7414eac62d3667ae7d (diff)
downloadgcc-3e93ff81965fedc0eaa06c8646a0ae6788f2fec5.zip
gcc-3e93ff81965fedc0eaa06c8646a0ae6788f2fec5.tar.gz
gcc-3e93ff81965fedc0eaa06c8646a0ae6788f2fec5.tar.bz2
rtl.h (CONST_DOUBLE_P): Define.
* rtl.h (CONST_DOUBLE_P): Define. (rtx_to_double_int): Declare. * emit-rtl.c (rtx_to_double_int): New function. * dwarf2out.c (insert_double): New function. (loc_descriptor, add_const_value_attribute): Clean up, use rtx_to_double_int and insert_double functions. From-SVN: r158963
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index ccb3c1a..fe17ae7 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -375,6 +375,10 @@ struct GTY(()) rtvec_def {
/* Predicate yielding nonzero iff X is an rtx for a constant integer. */
#define CONST_INT_P(X) (GET_CODE (X) == CONST_INT)
+/* Predicate yielding true iff X is an rtx for a double-int
+ or floating point constant. */
+#define CONST_DOUBLE_P(X) (GET_CODE (X) == CONST_DOUBLE)
+
/* Predicate yielding nonzero iff X is a label insn. */
#define LABEL_P(X) (GET_CODE (X) == CODE_LABEL)
@@ -1627,6 +1631,7 @@ extern void start_sequence (void);
extern void push_to_sequence (rtx);
extern void push_to_sequence2 (rtx, rtx);
extern void end_sequence (void);
+extern double_int rtx_to_double_int (const_rtx);
extern rtx immed_double_int_const (double_int, enum machine_mode);
extern rtx immed_double_const (HOST_WIDE_INT, HOST_WIDE_INT,
enum machine_mode);