rtl.h: Update copyright date.
* rtl.h: Update copyright date. (RTL_CHECK1): Wrap long line. (RTL_CHECK2): Likewise. (RTL_CHECKC1): Wrap long line and whitespace. (RTL_CHECKC2): Likewise. (XWINT): Whitespace. (XINT): Likewise. (XSTR): Likewise. (XEXP): Likewise. (XVEC): Likewise. (XMODE): Likewise. (XBITMAP): Likewise. (XTREE): Likewise. (XBBDEF): Likewise. (XTMPL): Likewise. (X0WINT): Likewise. (X0INT):Likewise. (X0UINT): Likewise. (X0STR): Likewise. (X0EXP): Likewise. (X0VEC): Likewise. (X0MODE): Likewise. (X0BITMAP): Likewise. (X0TREE): Likewise. (X0BBDEF): Likewise. (X0ADVFLAGS): Likewise. (X0CSELIB): Likewise. (X0MEMATTR): Likewise. (XCWINT): Likewise. (XCINT): Likewise. (XCUINT): Likewise. (XCSTR): Likewise. (XCEXP): Likewise. (XCVEC): Likewise. (XCMODE): Likewise. (XCBITMAP): Likewise. (XCTREE): Likewise. (XCBBDEF): Likewise. (XCADVFLAGS): Likewise. (XCCSELIB): Likewise. (XC2EXP): Likewise. (INSN_UID): Likewise. (PREV_INSN): Likewise. (PATTERN): Likewise. (INSN_CODE): Likewise. (PUT_REG_NOTE_KIND): Likewise. (CODE_LABEL_NUMBER): Likewise. (NOTE_SOURCE_FILE): Likewise. (NOTE_BLOCK): Likewise. (NOTE_EH_HANDLER): Likewise. (NOTE_RANGE_INFO): Likewise. (NOTE_LIVE_INFO): Likewise. (NOTE_BASIC_BLOCK): Likewise. (NOTE_EXPECTED_VALUE): Likewise. (NOTE_LINE_NUMBER): Likewise. (LABEL_NAME): Likewise. (LABEL_NUSES): Likewise. (LABEL_ALTERNATE_NAME): Likewise. (ADDRESSOF_DECL): Likewise. (JUMP_LABEL): Likewise. (LABEL_NEXTREF): Likewise. (REGNO): Likewise. (ORIGINAL_REGNO: Likewise. (HARD_REGISTER_NUM_P): Add parenthesis. (SUBREG_REG): Whitespace. (SUBREG_BYTE): Likewise. (ASM_OPERANDS_TEMPLATE): Remove parenthesis. (ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise. (ASM_OPERANDS_OUTPUT_IDX): Likewise. (ASM_OPERANDS_INPUT_VEC): Likewise. (ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise. (ASM_OPERANDS_INPUT): Likewise. (ASM_OPERANDS_INPUT_LENGTH): Likewise. (ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise. (ASM_OPERANDS_INPUT_CONSTRAINT): Likewise. (ASM_OPERANDS_INPUT_MODE): Likewise. (ASM_OPERANDS_SOURCE_FILE): Likewise. (ASM_OPERANDS_SOURCE_LINE): Likewise. (MEM_SET_IN_STRUCT_P): Minor reformat. (TRAP_CONDITION): Whitespace. (TRAP_CODE): Likewise. (COND_EXEC_TEST): Likewise. (COND_EXEC_CODE): Likewise. (FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis. (PHI_NODE_P): Add parenthesis. (plus_constant): Whitespace and add paraenthese. From-SVN: r48497
This commit is contained in:
parent
e03f5d43cb
commit
f52eda294f
@ -1,3 +1,92 @@
|
||||
2002-01-03 Graham Stott <grahams@redhat.com>
|
||||
|
||||
* rtl.h: Update copyright date.
|
||||
(RTL_CHECK1): Wrap long line.
|
||||
(RTL_CHECK2): Likewise.
|
||||
(RTL_CHECKC1): Wrap long line and whitespace.
|
||||
(RTL_CHECKC2): Likewise.
|
||||
(XWINT): Whitespace.
|
||||
(XINT): Likewise.
|
||||
(XSTR): Likewise.
|
||||
(XEXP): Likewise.
|
||||
(XVEC): Likewise.
|
||||
(XMODE): Likewise.
|
||||
(XBITMAP): Likewise.
|
||||
(XTREE): Likewise.
|
||||
(XBBDEF): Likewise.
|
||||
(XTMPL): Likewise.
|
||||
(X0WINT): Likewise.
|
||||
(X0INT):Likewise.
|
||||
(X0UINT): Likewise.
|
||||
(X0STR): Likewise.
|
||||
(X0EXP): Likewise.
|
||||
(X0VEC): Likewise.
|
||||
(X0MODE): Likewise.
|
||||
(X0BITMAP): Likewise.
|
||||
(X0TREE): Likewise.
|
||||
(X0BBDEF): Likewise.
|
||||
(X0ADVFLAGS): Likewise.
|
||||
(X0CSELIB): Likewise.
|
||||
(X0MEMATTR): Likewise.
|
||||
(XCWINT): Likewise.
|
||||
(XCINT): Likewise.
|
||||
(XCUINT): Likewise.
|
||||
(XCSTR): Likewise.
|
||||
(XCEXP): Likewise.
|
||||
(XCVEC): Likewise.
|
||||
(XCMODE): Likewise.
|
||||
(XCBITMAP): Likewise.
|
||||
(XCTREE): Likewise.
|
||||
(XCBBDEF): Likewise.
|
||||
(XCADVFLAGS): Likewise.
|
||||
(XCCSELIB): Likewise.
|
||||
(XC2EXP): Likewise.
|
||||
(INSN_UID): Likewise.
|
||||
(PREV_INSN): Likewise.
|
||||
(PATTERN): Likewise.
|
||||
(INSN_CODE): Likewise.
|
||||
(PUT_REG_NOTE_KIND): Likewise.
|
||||
(CODE_LABEL_NUMBER): Likewise.
|
||||
(NOTE_SOURCE_FILE): Likewise.
|
||||
(NOTE_BLOCK): Likewise.
|
||||
(NOTE_EH_HANDLER): Likewise.
|
||||
(NOTE_RANGE_INFO): Likewise.
|
||||
(NOTE_LIVE_INFO): Likewise.
|
||||
(NOTE_BASIC_BLOCK): Likewise.
|
||||
(NOTE_EXPECTED_VALUE): Likewise.
|
||||
(NOTE_LINE_NUMBER): Likewise.
|
||||
(LABEL_NAME): Likewise.
|
||||
(LABEL_NUSES): Likewise.
|
||||
(LABEL_ALTERNATE_NAME): Likewise.
|
||||
(ADDRESSOF_DECL): Likewise.
|
||||
(JUMP_LABEL): Likewise.
|
||||
(LABEL_NEXTREF): Likewise.
|
||||
(REGNO): Likewise.
|
||||
(ORIGINAL_REGNO: Likewise.
|
||||
(HARD_REGISTER_NUM_P): Add parenthesis.
|
||||
(SUBREG_REG): Whitespace.
|
||||
(SUBREG_BYTE): Likewise.
|
||||
(ASM_OPERANDS_TEMPLATE): Remove parenthesis.
|
||||
(ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
|
||||
(ASM_OPERANDS_OUTPUT_IDX): Likewise.
|
||||
(ASM_OPERANDS_INPUT_VEC): Likewise.
|
||||
(ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
|
||||
(ASM_OPERANDS_INPUT): Likewise.
|
||||
(ASM_OPERANDS_INPUT_LENGTH): Likewise.
|
||||
(ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
|
||||
(ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
|
||||
(ASM_OPERANDS_INPUT_MODE): Likewise.
|
||||
(ASM_OPERANDS_SOURCE_FILE): Likewise.
|
||||
(ASM_OPERANDS_SOURCE_LINE): Likewise.
|
||||
(MEM_SET_IN_STRUCT_P): Minor reformat.
|
||||
(TRAP_CONDITION): Whitespace.
|
||||
(TRAP_CODE): Likewise.
|
||||
(COND_EXEC_TEST): Likewise.
|
||||
(COND_EXEC_CODE): Likewise.
|
||||
(FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
|
||||
(PHI_NODE_P): Add parenthesis.
|
||||
(plus_constant): Whitespace and add parenthesis.
|
||||
|
||||
2002-01-03 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* config/avr/avr.c: Fix comment typos.
|
||||
|
201
gcc/rtl.h
201
gcc/rtl.h
@ -1,6 +1,6 @@
|
||||
/* Register Transfer Language (RTL) definitions for GNU C-Compiler
|
||||
Copyright (C) 1987, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
|
||||
1999, 2000, 2001 Free Software Foundation, Inc.
|
||||
1999, 2000, 2001, 2002 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -266,16 +266,19 @@ struct rtvec_def {
|
||||
(*({ rtx _rtx = (RTX); int _n = (N); \
|
||||
enum rtx_code _code = GET_CODE (_rtx); \
|
||||
if (_n < 0 || _n >= GET_RTX_LENGTH (_code)) \
|
||||
rtl_check_failed_bounds (_rtx, _n, __FILE__, __LINE__, __FUNCTION__); \
|
||||
rtl_check_failed_bounds (_rtx, _n, __FILE__, __LINE__, \
|
||||
__FUNCTION__); \
|
||||
if (GET_RTX_FORMAT(_code)[_n] != C1) \
|
||||
rtl_check_failed_type1(_rtx, _n, C1, __FILE__, __LINE__, __FUNCTION__); \
|
||||
rtl_check_failed_type1 (_rtx, _n, C1, __FILE__, __LINE__, \
|
||||
__FUNCTION__); \
|
||||
&_rtx->fld[_n]; }))
|
||||
|
||||
#define RTL_CHECK2(RTX, N, C1, C2) __extension__ \
|
||||
(*({ rtx _rtx = (RTX); int _n = (N); \
|
||||
enum rtx_code _code = GET_CODE (_rtx); \
|
||||
if (_n < 0 || _n >= GET_RTX_LENGTH (_code)) \
|
||||
rtl_check_failed_bounds (_rtx, _n, __FILE__, __LINE__, __FUNCTION__); \
|
||||
rtl_check_failed_bounds (_rtx, _n, __FILE__, __LINE__, \
|
||||
__FUNCTION__); \
|
||||
if (GET_RTX_FORMAT(_code)[_n] != C1 \
|
||||
&& GET_RTX_FORMAT(_code)[_n] != C2) \
|
||||
rtl_check_failed_type2 (_rtx, _n, C1, C2, __FILE__, __LINE__, \
|
||||
@ -284,15 +287,17 @@ struct rtvec_def {
|
||||
|
||||
#define RTL_CHECKC1(RTX, N, C) __extension__ \
|
||||
(*({ rtx _rtx = (RTX); int _n = (N); \
|
||||
if (GET_CODE (_rtx) != C) \
|
||||
rtl_check_failed_code1 (_rtx, C, __FILE__, __LINE__, __FUNCTION__); \
|
||||
if (GET_CODE (_rtx) != (C)) \
|
||||
rtl_check_failed_code1 (_rtx, (C), __FILE__, __LINE__, \
|
||||
__FUNCTION__); \
|
||||
&_rtx->fld[_n]; }))
|
||||
|
||||
#define RTL_CHECKC2(RTX, N, C1, C2) __extension__ \
|
||||
(*({ rtx _rtx = (RTX); int _n = (N); \
|
||||
enum rtx_code _code = GET_CODE (_rtx); \
|
||||
if (_code != C1 && _code != C2) \
|
||||
rtl_check_failed_code2(_rtx, C1, C2, __FILE__, __LINE__, __FUNCTION__); \
|
||||
if (_code != (C1) && _code != (C2)) \
|
||||
rtl_check_failed_code2 (_rtx, (C1), (C2), __FILE__, __LINE__, \
|
||||
__FUNCTION__); \
|
||||
&_rtx->fld[_n]; }))
|
||||
|
||||
#define RTVEC_ELT(RTVEC, I) __extension__ \
|
||||
@ -331,16 +336,16 @@ extern void rtvec_check_failed_bounds PARAMS ((rtvec, int,
|
||||
|
||||
#endif
|
||||
|
||||
#define XWINT(RTX, N) (RTL_CHECK1(RTX, N, 'w').rtwint)
|
||||
#define XINT(RTX, N) (RTL_CHECK2(RTX, N, 'i', 'n').rtint)
|
||||
#define XSTR(RTX, N) (RTL_CHECK2(RTX, N, 's', 'S').rtstr)
|
||||
#define XEXP(RTX, N) (RTL_CHECK2(RTX, N, 'e', 'u').rtx)
|
||||
#define XVEC(RTX, N) (RTL_CHECK2(RTX, N, 'E', 'V').rtvec)
|
||||
#define XMODE(RTX, N) (RTL_CHECK1(RTX, N, 'M').rttype)
|
||||
#define XBITMAP(RTX, N) (RTL_CHECK1(RTX, N, 'b').rtbit)
|
||||
#define XTREE(RTX, N) (RTL_CHECK1(RTX, N, 't').rttree)
|
||||
#define XBBDEF(RTX, N) (RTL_CHECK1(RTX, N, 'B').bb)
|
||||
#define XTMPL(RTX, N) (RTL_CHECK1(RTX, N, 'T').rtstr)
|
||||
#define XWINT(RTX, N) (RTL_CHECK1 (RTX, N, 'w').rtwint)
|
||||
#define XINT(RTX, N) (RTL_CHECK2 (RTX, N, 'i', 'n').rtint)
|
||||
#define XSTR(RTX, N) (RTL_CHECK2 (RTX, N, 's', 'S').rtstr)
|
||||
#define XEXP(RTX, N) (RTL_CHECK2 (RTX, N, 'e', 'u').rtx)
|
||||
#define XVEC(RTX, N) (RTL_CHECK2 (RTX, N, 'E', 'V').rtvec)
|
||||
#define XMODE(RTX, N) (RTL_CHECK1 (RTX, N, 'M').rttype)
|
||||
#define XBITMAP(RTX, N) (RTL_CHECK1 (RTX, N, 'b').rtbit)
|
||||
#define XTREE(RTX, N) (RTL_CHECK1 (RTX, N, 't').rttree)
|
||||
#define XBBDEF(RTX, N) (RTL_CHECK1 (RTX, N, 'B').bb)
|
||||
#define XTMPL(RTX, N) (RTL_CHECK1 (RTX, N, 'T').rtstr)
|
||||
|
||||
#define XVECEXP(RTX, N, M) RTVEC_ELT (XVEC (RTX, N), M)
|
||||
#define XVECLEN(RTX, N) GET_NUM_ELEM (XVEC (RTX, N))
|
||||
@ -348,37 +353,37 @@ extern void rtvec_check_failed_bounds PARAMS ((rtvec, int,
|
||||
/* These are like XWINT, etc. except that they expect a '0' field instead
|
||||
of the normal type code. */
|
||||
|
||||
#define X0WINT(RTX, N) (RTL_CHECK1(RTX, N, '0').rtwint)
|
||||
#define X0INT(RTX, N) (RTL_CHECK1(RTX, N, '0').rtint)
|
||||
#define X0UINT(RTX, N) (RTL_CHECK1(RTX, N, '0').rtuint)
|
||||
#define X0STR(RTX, N) (RTL_CHECK1(RTX, N, '0').rtstr)
|
||||
#define X0EXP(RTX, N) (RTL_CHECK1(RTX, N, '0').rtx)
|
||||
#define X0VEC(RTX, N) (RTL_CHECK1(RTX, N, '0').rtvec)
|
||||
#define X0MODE(RTX, N) (RTL_CHECK1(RTX, N, '0').rttype)
|
||||
#define X0BITMAP(RTX, N) (RTL_CHECK1(RTX, N, '0').rtbit)
|
||||
#define X0TREE(RTX, N) (RTL_CHECK1(RTX, N, '0').rttree)
|
||||
#define X0BBDEF(RTX, N) (RTL_CHECK1(RTX, N, '0').bb)
|
||||
#define X0ADVFLAGS(RTX, N) (RTL_CHECK1(RTX, N, '0').rt_addr_diff_vec_flags)
|
||||
#define X0CSELIB(RTX, N) (RTL_CHECK1(RTX, N, '0').rt_cselib)
|
||||
#define X0MEMATTR(RTX, N) (RTL_CHECK1(RTX, N, '0').rtmem)
|
||||
#define X0WINT(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtwint)
|
||||
#define X0INT(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtint)
|
||||
#define X0UINT(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtuint)
|
||||
#define X0STR(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtstr)
|
||||
#define X0EXP(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtx)
|
||||
#define X0VEC(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtvec)
|
||||
#define X0MODE(RTX, N) (RTL_CHECK1 (RTX, N, '0').rttype)
|
||||
#define X0BITMAP(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtbit)
|
||||
#define X0TREE(RTX, N) (RTL_CHECK1 (RTX, N, '0').rttree)
|
||||
#define X0BBDEF(RTX, N) (RTL_CHECK1 (RTX, N, '0').bb)
|
||||
#define X0ADVFLAGS(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_addr_diff_vec_flags)
|
||||
#define X0CSELIB(RTX, N) (RTL_CHECK1 (RTX, N, '0').rt_cselib)
|
||||
#define X0MEMATTR(RTX, N) (RTL_CHECK1 (RTX, N, '0').rtmem)
|
||||
|
||||
#define XCWINT(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtwint)
|
||||
#define XCINT(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtint)
|
||||
#define XCUINT(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtuint)
|
||||
#define XCSTR(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtstr)
|
||||
#define XCEXP(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtx)
|
||||
#define XCVEC(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtvec)
|
||||
#define XCMODE(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rttype)
|
||||
#define XCBITMAP(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rtbit)
|
||||
#define XCTREE(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rttree)
|
||||
#define XCBBDEF(RTX, N, C) (RTL_CHECKC1(RTX, N, C).bb)
|
||||
#define XCADVFLAGS(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rt_addr_diff_vec_flags)
|
||||
#define XCCSELIB(RTX, N, C) (RTL_CHECKC1(RTX, N, C).rt_cselib)
|
||||
#define XCWINT(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtwint)
|
||||
#define XCINT(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtint)
|
||||
#define XCUINT(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtuint)
|
||||
#define XCSTR(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtstr)
|
||||
#define XCEXP(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtx)
|
||||
#define XCVEC(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtvec)
|
||||
#define XCMODE(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rttype)
|
||||
#define XCBITMAP(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rtbit)
|
||||
#define XCTREE(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rttree)
|
||||
#define XCBBDEF(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).bb)
|
||||
#define XCADVFLAGS(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_addr_diff_vec_flags)
|
||||
#define XCCSELIB(RTX, N, C) (RTL_CHECKC1 (RTX, N, C).rt_cselib)
|
||||
|
||||
#define XCVECEXP(RTX, N, M, C) RTVEC_ELT (XCVEC (RTX, N, C), M)
|
||||
#define XCVECLEN(RTX, N, C) GET_NUM_ELEM (XCVEC (RTX, N, C))
|
||||
|
||||
#define XC2EXP(RTX, N, C1, C2) (RTL_CHECKC2(RTX, N, C1, C2).rtx)
|
||||
#define XC2EXP(RTX, N, C1, C2) (RTL_CHECKC2 (RTX, N, C1, C2).rtx)
|
||||
|
||||
/* ACCESS MACROS for particular fields of insns. */
|
||||
|
||||
@ -387,18 +392,18 @@ extern void rtvec_check_failed_bounds PARAMS ((rtvec, int,
|
||||
|
||||
/* Holds a unique number for each insn.
|
||||
These are not necessarily sequentially increasing. */
|
||||
#define INSN_UID(INSN) XINT(INSN, 0)
|
||||
#define INSN_UID(INSN) XINT (INSN, 0)
|
||||
|
||||
/* Chain insns together in sequence. */
|
||||
#define PREV_INSN(INSN) XEXP(INSN, 1)
|
||||
#define NEXT_INSN(INSN) XEXP(INSN, 2)
|
||||
#define PREV_INSN(INSN) XEXP (INSN, 1)
|
||||
#define NEXT_INSN(INSN) XEXP (INSN, 2)
|
||||
|
||||
/* The body of an insn. */
|
||||
#define PATTERN(INSN) XEXP(INSN, 3)
|
||||
#define PATTERN(INSN) XEXP (INSN, 3)
|
||||
|
||||
/* Code number of instruction, from when it was recognized.
|
||||
-1 means this instruction has not been recognized yet. */
|
||||
#define INSN_CODE(INSN) XINT(INSN, 4)
|
||||
#define INSN_CODE(INSN) XINT (INSN, 4)
|
||||
|
||||
/* Set up in flow.c; empty before then.
|
||||
Holds a chain of INSN_LIST rtx's whose first operands point at
|
||||
@ -593,7 +598,8 @@ enum reg_note
|
||||
|
||||
/* Define macros to extract and insert the reg-note kind in an EXPR_LIST. */
|
||||
#define REG_NOTE_KIND(LINK) ((enum reg_note) GET_MODE (LINK))
|
||||
#define PUT_REG_NOTE_KIND(LINK,KIND) PUT_MODE(LINK, (enum machine_mode) (KIND))
|
||||
#define PUT_REG_NOTE_KIND(LINK, KIND) \
|
||||
PUT_MODE (LINK, (enum machine_mode) (KIND))
|
||||
|
||||
/* Names for REG_NOTE's in EXPR_LIST insn's. */
|
||||
|
||||
@ -612,7 +618,7 @@ extern const char * const reg_note_name[];
|
||||
/* The label-number of a code-label. The assembler label
|
||||
is made from `L' and the label-number printed in decimal.
|
||||
Label numbers are unique in a compilation. */
|
||||
#define CODE_LABEL_NUMBER(INSN) XINT(INSN, 5)
|
||||
#define CODE_LABEL_NUMBER(INSN) XINT (INSN, 5)
|
||||
|
||||
#define LINE_NUMBER NOTE
|
||||
|
||||
@ -623,17 +629,17 @@ extern const char * const reg_note_name[];
|
||||
The NOTE_INSN_RANGE_{START,END} and NOTE_INSN_LIVE notes record their
|
||||
information as an rtx in the field. */
|
||||
|
||||
#define NOTE_SOURCE_FILE(INSN) XCSTR(INSN, 3, NOTE)
|
||||
#define NOTE_BLOCK(INSN) XCTREE(INSN, 3, NOTE)
|
||||
#define NOTE_EH_HANDLER(INSN) XCINT(INSN, 3, NOTE)
|
||||
#define NOTE_RANGE_INFO(INSN) XCEXP(INSN, 3, NOTE)
|
||||
#define NOTE_LIVE_INFO(INSN) XCEXP(INSN, 3, NOTE)
|
||||
#define NOTE_BASIC_BLOCK(INSN) XCBBDEF(INSN, 3, NOTE)
|
||||
#define NOTE_EXPECTED_VALUE(INSN) XCEXP(INSN, 3, NOTE)
|
||||
#define NOTE_SOURCE_FILE(INSN) XCSTR (INSN, 3, NOTE)
|
||||
#define NOTE_BLOCK(INSN) XCTREE (INSN, 3, NOTE)
|
||||
#define NOTE_EH_HANDLER(INSN) XCINT (INSN, 3, NOTE)
|
||||
#define NOTE_RANGE_INFO(INSN) XCEXP (INSN, 3, NOTE)
|
||||
#define NOTE_LIVE_INFO(INSN) XCEXP (INSN, 3, NOTE)
|
||||
#define NOTE_BASIC_BLOCK(INSN) XCBBDEF (INSN, 3, NOTE)
|
||||
#define NOTE_EXPECTED_VALUE(INSN) XCEXP (INSN, 3, NOTE)
|
||||
|
||||
/* In a NOTE that is a line number, this is the line number.
|
||||
Other kinds of NOTEs are identified by negative numbers here. */
|
||||
#define NOTE_LINE_NUMBER(INSN) XCINT(INSN, 4, NOTE)
|
||||
#define NOTE_LINE_NUMBER(INSN) XCINT (INSN, 4, NOTE)
|
||||
|
||||
/* Nonzero if INSN is a note marking the beginning of a basic block. */
|
||||
#define NOTE_INSN_BASIC_BLOCK_P(INSN) \
|
||||
@ -733,49 +739,49 @@ extern const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS];
|
||||
|
||||
/* The name of a label, in case it corresponds to an explicit label
|
||||
in the input source code. */
|
||||
#define LABEL_NAME(RTX) XCSTR(RTX, 6, CODE_LABEL)
|
||||
#define LABEL_NAME(RTX) XCSTR (RTX, 6, CODE_LABEL)
|
||||
|
||||
/* In jump.c, each label contains a count of the number
|
||||
of LABEL_REFs that point at it, so unused labels can be deleted. */
|
||||
#define LABEL_NUSES(RTX) XCINT(RTX, 3, CODE_LABEL)
|
||||
#define LABEL_NUSES(RTX) XCINT (RTX, 3, CODE_LABEL)
|
||||
|
||||
/* Associate a name with a CODE_LABEL. */
|
||||
#define LABEL_ALTERNATE_NAME(RTX) XCSTR(RTX, 7, CODE_LABEL)
|
||||
#define LABEL_ALTERNATE_NAME(RTX) XCSTR (RTX, 7, CODE_LABEL)
|
||||
|
||||
/* The original regno this ADDRESSOF was built for. */
|
||||
#define ADDRESSOF_REGNO(RTX) XCUINT(RTX, 1, ADDRESSOF)
|
||||
#define ADDRESSOF_REGNO(RTX) XCUINT (RTX, 1, ADDRESSOF)
|
||||
|
||||
/* The variable in the register we took the address of. */
|
||||
#define ADDRESSOF_DECL(RTX) XCTREE(RTX, 2, ADDRESSOF)
|
||||
#define ADDRESSOF_DECL(RTX) XCTREE (RTX, 2, ADDRESSOF)
|
||||
|
||||
/* In jump.c, each JUMP_INSN can point to a label that it can jump to,
|
||||
so that if the JUMP_INSN is deleted, the label's LABEL_NUSES can
|
||||
be decremented and possibly the label can be deleted. */
|
||||
#define JUMP_LABEL(INSN) XCEXP(INSN, 7, JUMP_INSN)
|
||||
#define JUMP_LABEL(INSN) XCEXP (INSN, 7, JUMP_INSN)
|
||||
|
||||
/* Once basic blocks are found in flow.c,
|
||||
each CODE_LABEL starts a chain that goes through
|
||||
all the LABEL_REFs that jump to that label.
|
||||
The chain eventually winds up at the CODE_LABEL: it is circular. */
|
||||
#define LABEL_REFS(LABEL) XCEXP(LABEL, 4, CODE_LABEL)
|
||||
#define LABEL_REFS(LABEL) XCEXP (LABEL, 4, CODE_LABEL)
|
||||
|
||||
/* This is the field in the LABEL_REF through which the circular chain
|
||||
of references to a particular label is linked.
|
||||
This chain is set up in flow.c. */
|
||||
|
||||
#define LABEL_NEXTREF(REF) XCEXP(REF, 1, LABEL_REF)
|
||||
#define LABEL_NEXTREF(REF) XCEXP (REF, 1, LABEL_REF)
|
||||
|
||||
/* Once basic blocks are found in flow.c,
|
||||
Each LABEL_REF points to its containing instruction with this field. */
|
||||
|
||||
#define CONTAINING_INSN(RTX) XCEXP(RTX, 2, LABEL_REF)
|
||||
#define CONTAINING_INSN(RTX) XCEXP (RTX, 2, LABEL_REF)
|
||||
|
||||
/* For a REG rtx, REGNO extracts the register number. ORIGINAL_REGNO holds
|
||||
the number the register originally had; for a pseudo register turned into
|
||||
a hard reg this will hold the old pseudo register number. */
|
||||
|
||||
#define REGNO(RTX) XCUINT(RTX, 0, REG)
|
||||
#define ORIGINAL_REGNO(RTX) X0UINT(RTX, 1)
|
||||
#define REGNO(RTX) XCUINT (RTX, 0, REG)
|
||||
#define ORIGINAL_REGNO(RTX) X0UINT (RTX, 1)
|
||||
|
||||
/* For a REG rtx, REG_FUNCTION_VALUE_P is nonzero if the reg
|
||||
is the current function's return value. */
|
||||
@ -792,7 +798,7 @@ extern const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS];
|
||||
#define HARD_REGISTER_P(REG) (HARD_REGISTER_NUM_P (REGNO (REG)))
|
||||
|
||||
/* 1 if the given register number REG_NO corresponds to a hard register. */
|
||||
#define HARD_REGISTER_NUM_P(REG_NO) (REG_NO < FIRST_PSEUDO_REGISTER)
|
||||
#define HARD_REGISTER_NUM_P(REG_NO) ((REG_NO) < FIRST_PSEUDO_REGISTER)
|
||||
|
||||
/* For a CONST_INT rtx, INTVAL extracts the integer. */
|
||||
|
||||
@ -814,8 +820,8 @@ extern const char * const note_insn_name[NOTE_INSN_MAX - NOTE_INSN_BIAS];
|
||||
/* For a SUBREG rtx, SUBREG_REG extracts the value we want a subreg of.
|
||||
SUBREG_BYTE extracts the byte-number. */
|
||||
|
||||
#define SUBREG_REG(RTX) XCEXP(RTX, 0, SUBREG)
|
||||
#define SUBREG_BYTE(RTX) XCUINT(RTX, 1, SUBREG)
|
||||
#define SUBREG_REG(RTX) XCEXP (RTX, 0, SUBREG)
|
||||
#define SUBREG_BYTE(RTX) XCUINT (RTX, 1, SUBREG)
|
||||
|
||||
/* in rtlanal.c */
|
||||
extern unsigned int subreg_lsb PARAMS ((rtx));
|
||||
@ -838,21 +844,21 @@ extern unsigned int subreg_regno PARAMS ((rtx));
|
||||
|
||||
/* Access various components of an ASM_OPERANDS rtx. */
|
||||
|
||||
#define ASM_OPERANDS_TEMPLATE(RTX) XCSTR ((RTX), 0, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_OUTPUT_CONSTRAINT(RTX) XCSTR ((RTX), 1, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_OUTPUT_IDX(RTX) XCINT ((RTX), 2, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_VEC(RTX) XCVEC ((RTX), 3, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_CONSTRAINT_VEC(RTX) XCVEC ((RTX), 4, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT(RTX, N) XCVECEXP ((RTX), 3, (N), ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_LENGTH(RTX) XCVECLEN ((RTX), 3, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_TEMPLATE(RTX) XCSTR (RTX, 0, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_OUTPUT_CONSTRAINT(RTX) XCSTR (RTX, 1, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_OUTPUT_IDX(RTX) XCINT (RTX, 2, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_VEC(RTX) XCVEC (RTX, 3, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_CONSTRAINT_VEC(RTX) XCVEC (RTX, 4, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT(RTX, N) XCVECEXP (RTX, 3, N, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_LENGTH(RTX) XCVECLEN (RTX, 3, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_CONSTRAINT_EXP(RTX, N) \
|
||||
XCVECEXP ((RTX), 4, (N), ASM_OPERANDS)
|
||||
XCVECEXP (RTX, 4, N, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_INPUT_CONSTRAINT(RTX, N) \
|
||||
XSTR (XCVECEXP ((RTX), 4, (N), ASM_OPERANDS), 0)
|
||||
XSTR (XCVECEXP (RTX, 4, N, ASM_OPERANDS), 0)
|
||||
#define ASM_OPERANDS_INPUT_MODE(RTX, N) \
|
||||
GET_MODE (XCVECEXP ((RTX), 4, (N), ASM_OPERANDS))
|
||||
#define ASM_OPERANDS_SOURCE_FILE(RTX) XCSTR ((RTX), 5, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_SOURCE_LINE(RTX) XCINT ((RTX), 6, ASM_OPERANDS)
|
||||
GET_MODE (XCVECEXP (RTX, 4, N, ASM_OPERANDS))
|
||||
#define ASM_OPERANDS_SOURCE_FILE(RTX) XCSTR (RTX, 5, ASM_OPERANDS)
|
||||
#define ASM_OPERANDS_SOURCE_LINE(RTX) XCINT (RTX, 6, ASM_OPERANDS)
|
||||
|
||||
/* For a MEM RTX, 1 if we should keep the alias set for this mem
|
||||
unchanged when we access a component. Set to 1, or example, when we
|
||||
@ -876,7 +882,8 @@ extern unsigned int subreg_regno PARAMS ((rtx));
|
||||
RTX. Otherwise, vice versa. Use this macro only when you are
|
||||
*sure* that you know that the MEM is in a structure, or is a
|
||||
scalar. VAL is evaluated only once. */
|
||||
#define MEM_SET_IN_STRUCT_P(RTX, VAL) do { \
|
||||
#define MEM_SET_IN_STRUCT_P(RTX, VAL) \
|
||||
do { \
|
||||
if (VAL) \
|
||||
{ \
|
||||
MEM_IN_STRUCT_P (RTX) = 1; \
|
||||
@ -970,14 +977,14 @@ extern unsigned int subreg_regno PARAMS ((rtx));
|
||||
#define SET_IS_RETURN_P(RTX) ((RTX)->jump)
|
||||
|
||||
/* For a TRAP_IF rtx, TRAP_CONDITION is an expression. */
|
||||
#define TRAP_CONDITION(RTX) XCEXP(RTX, 0, TRAP_IF)
|
||||
#define TRAP_CODE(RTX) XCEXP(RTX, 1, TRAP_IF)
|
||||
#define TRAP_CONDITION(RTX) XCEXP (RTX, 0, TRAP_IF)
|
||||
#define TRAP_CODE(RTX) XCEXP (RTX, 1, TRAP_IF)
|
||||
|
||||
/* For a COND_EXEC rtx, COND_EXEC_TEST is the condition to base
|
||||
conditionally executing the code on, COND_EXEC_CODE is the code
|
||||
to execute if the condition is true. */
|
||||
#define COND_EXEC_TEST(RTX) XCEXP(RTX, 0, COND_EXEC)
|
||||
#define COND_EXEC_CODE(RTX) XCEXP(RTX, 1, COND_EXEC)
|
||||
#define COND_EXEC_TEST(RTX) XCEXP (RTX, 0, COND_EXEC)
|
||||
#define COND_EXEC_CODE(RTX) XCEXP (RTX, 1, COND_EXEC)
|
||||
|
||||
/* 1 in a SYMBOL_REF if it addresses this function's constants pool. */
|
||||
#define CONSTANT_POOL_ADDRESS_P(RTX) ((RTX)->unchanging)
|
||||
@ -999,12 +1006,12 @@ extern unsigned int subreg_regno PARAMS ((rtx));
|
||||
|
||||
/* Don't continue this line--convex cc version 4.1 would lose. */
|
||||
#if (defined (HAVE_PRE_INCREMENT) || defined (HAVE_PRE_DECREMENT) || defined (HAVE_POST_INCREMENT) || defined (HAVE_POST_DECREMENT))
|
||||
#define FIND_REG_INC_NOTE(insn, reg) \
|
||||
(reg != NULL_RTX && REG_P ((rtx) (reg)) \
|
||||
? find_regno_note ((insn), REG_INC, REGNO ((rtx) (reg))) \
|
||||
: find_reg_note ((insn), REG_INC, (reg)))
|
||||
#define FIND_REG_INC_NOTE(INSN, REG) \
|
||||
((REG) != NULL_RTX && REG_P ((REG)) \
|
||||
? find_regno_note ((INSN), REG_INC, REGNO (REG)) \
|
||||
: find_reg_note ((INSN), REG_INC, (REG)))
|
||||
#else
|
||||
#define FIND_REG_INC_NOTE(insn, reg) 0
|
||||
#define FIND_REG_INC_NOTE(INSN, REG) 0
|
||||
#endif
|
||||
|
||||
/* Indicate whether the machine has any sort of auto increment addressing.
|
||||
@ -1180,7 +1187,7 @@ extern unsigned int subreg_regno PARAMS ((rtx));
|
||||
|
||||
/* Determine if the insn is a PHI node. */
|
||||
#define PHI_NODE_P(X) \
|
||||
(X && GET_CODE (X) == INSN \
|
||||
((X) && GET_CODE (X) == INSN \
|
||||
&& GET_CODE (PATTERN (X)) == SET \
|
||||
&& GET_CODE (SET_SRC (PATTERN (X))) == PHI)
|
||||
|
||||
@ -1198,7 +1205,7 @@ extern int generating_concat_p;
|
||||
/* In expmed.c */
|
||||
extern int ceil_log2 PARAMS ((unsigned HOST_WIDE_INT));
|
||||
|
||||
#define plus_constant(X,C) plus_constant_wide (X, (HOST_WIDE_INT) (C))
|
||||
#define plus_constant(X, C) plus_constant_wide ((X), (HOST_WIDE_INT) (C))
|
||||
|
||||
/* In builtins.c */
|
||||
extern rtx expand_builtin_expect_jump PARAMS ((tree, rtx, rtx));
|
||||
|
Loading…
x
Reference in New Issue
Block a user