X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Frtl.h;h=a3e05798d55ec38c705c442653d52bfcf9d15ae6;hb=36a01cad6bf9b76dceb6c1f18c633efa147b918b;hp=1748e7385270d373fff71e3485feaeff94ba173b;hpb=d78f98117af9c15a9f03af2bba3d9e90bb3aa1d5;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/rtl.h b/gcc/rtl.h index 1748e738527..a3e05798d55 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -27,6 +27,7 @@ along with GCC; see the file COPYING3. If not see #include "input.h" #include "real.h" #include "vec.h" +#include "vecir.h" #include "fixed-value.h" #include "alias.h" @@ -197,10 +198,6 @@ struct GTY(()) block_symbol { HOST_WIDE_INT offset; }; -DEF_VEC_P(rtx); -DEF_VEC_ALLOC_P(rtx,heap); -DEF_VEC_ALLOC_P(rtx,gc); - /* Describes a group of objects that are to be placed together in such a way that their relative positions are known. */ struct GTY(()) object_block { @@ -375,6 +372,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 +1628,8 @@ 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); @@ -1778,7 +1781,7 @@ extern rtx simplify_subreg (enum machine_mode, rtx, enum machine_mode, extern rtx simplify_gen_subreg (enum machine_mode, rtx, enum machine_mode, unsigned int); extern rtx simplify_replace_fn_rtx (rtx, const_rtx, - rtx (*fn) (rtx, void *), void *); + rtx (*fn) (rtx, const_rtx, void *), void *); extern rtx simplify_replace_rtx (rtx, const_rtx, rtx); extern rtx simplify_rtx (const_rtx); extern rtx avoid_constant_pool_reference (rtx); @@ -2376,6 +2379,8 @@ extern rtx emit_library_call_value (rtx, rtx, enum libcall_type, extern void init_varasm_once (void); extern enum tls_model decl_default_tls_model (const_tree); +extern rtx make_debug_expr_from_rtl (const_rtx); + /* In rtl.c */ extern void traverse_md_constants (int (*) (void **, void *), void *); struct md_constant { char *name, *value; };