diff options
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 32 |
1 files changed, 18 insertions, 14 deletions
@@ -204,6 +204,7 @@ union rtunion { int rt_int; unsigned int rt_uint; + location_t rt_loc; poly_uint16 rt_subreg; const char *rt_str; rtx rt_rtx; @@ -584,7 +585,7 @@ struct GTY(()) rtx_debug_insn : public rtx_insn i.e. an annotation for tracking variable assignments. This is an instance of: - DEF_RTL_EXPR(DEBUG_INSN, "debug_insn", "uuBeiie", RTX_INSN) + DEF_RTL_EXPR(DEBUG_INSN, "debug_insn", "uuBeLie", RTX_INSN) from rtl.def. */ }; @@ -595,7 +596,7 @@ struct GTY(()) rtx_nonjump_insn : public rtx_insn i.e an instruction that cannot jump. This is an instance of: - DEF_RTL_EXPR(INSN, "insn", "uuBeiie", RTX_INSN) + DEF_RTL_EXPR(INSN, "insn", "uuBeLie", RTX_INSN) from rtl.def. */ }; @@ -607,7 +608,7 @@ public: i.e. an instruction that can possibly jump. This is an instance of: - DEF_RTL_EXPR(JUMP_INSN, "jump_insn", "uuBeiie0", RTX_INSN) + DEF_RTL_EXPR(JUMP_INSN, "jump_insn", "uuBeLie0", RTX_INSN) from rtl.def. */ /* Returns jump target of this instruction. The returned value is not @@ -635,7 +636,7 @@ struct GTY(()) rtx_call_insn : public rtx_insn in the current function. This is an instance of: - DEF_RTL_EXPR(CALL_INSN, "call_insn", "uuBeiiee", RTX_INSN) + DEF_RTL_EXPR(CALL_INSN, "call_insn", "uuBeLiee", RTX_INSN) from rtl.def. */ }; @@ -1347,6 +1348,7 @@ extern void rtl_check_failed_flag (const char *, const_rtx, const char *, #define XINT(RTX, N) (RTL_CHECK2 (RTX, N, 'i', 'n').rt_int) #define XUINT(RTX, N) (RTL_CHECK2 (RTX, N, 'i', 'n').rt_uint) +#define XLOC(RTX, N) (RTL_CHECK1 (RTX, N, 'L').rt_loc) #define XSTR(RTX, N) (RTL_CHECK2 (RTX, N, 's', 'S').rt_str) #define XEXP(RTX, N) (RTL_CHECK2 (RTX, N, 'e', 'u').rt_rtx) #define XVEC(RTX, N) (RTL_CHECK2 (RTX, N, 'E', 'V').rt_rtvec) @@ -1364,6 +1366,7 @@ extern void rtl_check_failed_flag (const char *, const_rtx, const char *, #define X0INT(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_int) #define X0UINT(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_uint) +#define X0LOC(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_loc) #define X0STR(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_str) #define X0EXP(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_rtx) #define X0VEC(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_rtvec) @@ -1380,6 +1383,7 @@ extern void rtl_check_failed_flag (const char *, const_rtx, const char *, #define XCINT(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_int) #define XCUINT(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_uint) +#define XCLOC(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_loc) #define XCSUBREG(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_subreg) #define XCSTR(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_str) #define XCEXP(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_rtx) @@ -1511,14 +1515,14 @@ inline rtx& PATTERN (rtx insn) return XEXP (insn, 3); } -inline unsigned int INSN_LOCATION (const rtx_insn *insn) +inline location_t INSN_LOCATION (const rtx_insn *insn) { - return XUINT (insn, 4); + return XLOC (insn, 4); } -inline unsigned int& INSN_LOCATION (rtx_insn *insn) +inline location_t& INSN_LOCATION (rtx_insn *insn) { - return XUINT (insn, 4); + return XLOC (insn, 4); } inline bool INSN_HAS_LOCATION (const rtx_insn *insn) @@ -1676,7 +1680,7 @@ extern const char * const reg_note_name[]; #define NOTE_EH_HANDLER(INSN) XCINT (INSN, 3, NOTE) #define NOTE_BASIC_BLOCK(INSN) XCBBDEF (INSN, 3, NOTE) #define NOTE_VAR_LOCATION(INSN) XCEXP (INSN, 3, NOTE) -#define NOTE_MARKER_LOCATION(INSN) XCUINT (INSN, 3, NOTE) +#define NOTE_MARKER_LOCATION(INSN) XCLOC (INSN, 3, NOTE) #define NOTE_CFI(INSN) XCCFI (INSN, 3, NOTE) #define NOTE_LABEL_NUMBER(INSN) XCINT (INSN, 3, NOTE) @@ -2610,8 +2614,8 @@ do { \ #define ASM_OPERANDS_LABEL_VEC(RTX) XCVEC (RTX, 5, ASM_OPERANDS) #define ASM_OPERANDS_LABEL_LENGTH(RTX) XCVECLEN (RTX, 5, ASM_OPERANDS) #define ASM_OPERANDS_LABEL(RTX, N) XCVECEXP (RTX, 5, N, ASM_OPERANDS) -#define ASM_OPERANDS_SOURCE_LOCATION(RTX) XCUINT (RTX, 6, ASM_OPERANDS) -#define ASM_INPUT_SOURCE_LOCATION(RTX) XCUINT (RTX, 1, ASM_INPUT) +#define ASM_OPERANDS_SOURCE_LOCATION(RTX) XCLOC (RTX, 6, ASM_OPERANDS) +#define ASM_INPUT_SOURCE_LOCATION(RTX) XCLOC (RTX, 1, ASM_INPUT) /* 1 if RTX is a mem that is statically allocated in read-only memory. */ #define MEM_READONLY_P(RTX) \ @@ -3983,9 +3987,9 @@ get_mem_attrs (const_rtx x) #include "genrtl.h" #undef gen_rtx_ASM_INPUT #define gen_rtx_ASM_INPUT(MODE, ARG0) \ - gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), 0) + gen_rtx_fmt_sL (ASM_INPUT, (MODE), (ARG0), 0) #define gen_rtx_ASM_INPUT_loc(MODE, ARG0, LOC) \ - gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), (LOC)) + gen_rtx_fmt_sL (ASM_INPUT, (MODE), (ARG0), (LOC)) #endif /* There are some RTL codes that require special attention; the @@ -3996,7 +4000,7 @@ extern rtx_expr_list *gen_rtx_EXPR_LIST (machine_mode, rtx, rtx); extern rtx_insn_list *gen_rtx_INSN_LIST (machine_mode, rtx, rtx); extern rtx_insn * gen_rtx_INSN (machine_mode mode, rtx_insn *prev_insn, rtx_insn *next_insn, - basic_block bb, rtx pattern, int location, int code, + basic_block bb, rtx pattern, location_t location, int code, rtx reg_notes); extern rtx gen_rtx_CONST_INT (machine_mode, HOST_WIDE_INT); extern rtx gen_rtx_CONST_VECTOR (machine_mode, rtvec); |