GCC Middle and Back End API Reference
rtl.h File Reference
#include "hard-reg-set.h"
#include "rtl.def"
#include "reg-notes.def"
#include "insn-notes.def"
#include "genrtl.h"
Include dependency graph for rtl.h:

Go to the source code of this file.

Data Structures

struct  addr_diff_vec_flags
 
class  mem_attrs
 
class  reg_attrs
 
union  rtunion
 
struct  reg_info
 
struct  block_symbol
 
struct  object_block
 
struct  hwivec_def
 
struct  const_poly_int_def
 
struct  rtx_def
 
union  rtx_def::u
 
struct  rtx_expr_list
 
struct  rtx_insn_list
 
struct  rtx_sequence
 
struct  rtx_insn
 
struct  rtx_debug_insn
 
struct  rtx_nonjump_insn
 
struct  rtx_jump_insn
 
struct  rtx_call_insn
 
struct  rtx_jump_table_data
 
struct  rtx_barrier
 
struct  rtx_code_label
 
struct  rtx_note
 
struct  rtvec_def
 
struct  full_rtx_costs
 
class  subreg_shape
 
struct  address_info
 
struct  wi::int_traits< rtx_mode_t >
 
class  simplify_context
 
struct  subreg_info
 
struct  target_rtl
 
struct  rtl_hooks
 
struct  cgraph_rtl_info
 
struct  rtx_comparison
 

Namespaces

namespace  wi
 

Macros

#define NOOP_MOVE_INSN_CODE   INT_MAX
 
#define RTX_CODE   enum rtx_code
 
#define DEF_RTL_EXPR(ENUM, NAME, FORMAT, CLASS)   ENUM ,
 
#define NUM_RTX_CODE   ((int) LAST_AND_UNUSED_RTX_CODE)
 
#define RTX_CODE_BITSIZE   8
 
#define RTX_OBJ_MASK   (~1)
 
#define RTX_OBJ_RESULT   (RTX_OBJ & RTX_OBJ_MASK)
 
#define RTX_COMPARE_MASK   (~1)
 
#define RTX_COMPARE_RESULT   (RTX_COMPARE & RTX_COMPARE_MASK)
 
#define RTX_ARITHMETIC_MASK   (~1)
 
#define RTX_ARITHMETIC_RESULT   (RTX_COMM_ARITH & RTX_ARITHMETIC_MASK)
 
#define RTX_BINARY_MASK   (~3)
 
#define RTX_BINARY_RESULT   (RTX_COMPARE & RTX_BINARY_MASK)
 
#define RTX_COMMUTATIVE_MASK   (~2)
 
#define RTX_COMMUTATIVE_RESULT   (RTX_COMM_COMPARE & RTX_COMMUTATIVE_MASK)
 
#define RTX_NON_COMMUTATIVE_RESULT   (RTX_COMPARE & RTX_COMMUTATIVE_MASK)
 
#define GET_RTX_LENGTH(CODE)   (rtx_length[(int) (CODE)])
 
#define GET_RTX_NAME(CODE)   (rtx_name[(int) (CODE)])
 
#define GET_RTX_FORMAT(CODE)   (rtx_format[(int) (CODE)])
 
#define GET_RTX_CLASS(CODE)   (rtx_class[(int) (CODE)])
 
#define INSN_CHAIN_CODE_P(CODE)   IN_RANGE (CODE, DEBUG_INSN, NOTE)
 
#define CWI_GET_NUM_ELEM(RTX)    ((int)RTL_FLAG_CHECK1("CWI_GET_NUM_ELEM", (RTX), CONST_WIDE_INT)->u2.num_elem)
 
#define CWI_PUT_NUM_ELEM(RTX, NUM)    (RTL_FLAG_CHECK1("CWI_PUT_NUM_ELEM", (RTX), CONST_WIDE_INT)->u2.num_elem = (NUM))
 
#define RTX_HDR_SIZE   offsetof (struct rtx_def, u)
 
#define RTX_CODE_SIZE(CODE)   rtx_code_size[CODE]
 
#define NULL_RTX   (rtx) 0
 
#define RTX_NEXT(X)
 
#define RTX_PREV(X)
 
#define GET_CODE(RTX)   ((enum rtx_code) (RTX)->code)
 
#define PUT_CODE(RTX, CODE)   ((RTX)->code = (CODE))
 
#define GET_MODE(RTX)   ((machine_mode) (RTX)->mode)
 
#define PUT_MODE_RAW(RTX, MODE)   ((RTX)->mode = (MODE))
 
#define NULL_RTVEC   (rtvec) 0
 
#define GET_NUM_ELEM(RTVEC)   ((RTVEC)->num_elem)
 
#define PUT_NUM_ELEM(RTVEC, NUM)   ((RTVEC)->num_elem = (NUM))
 
#define REG_P(X)   (GET_CODE (X) == REG)
 
#define MEM_P(X)   (GET_CODE (X) == MEM)
 
#define CASE_CONST_SCALAR_INT
 
#define CASE_CONST_UNIQUE
 
#define CASE_CONST_ANY
 
#define CONST_INT_P(X)   (GET_CODE (X) == CONST_INT)
 
#define CONST_WIDE_INT_P(X)   (GET_CODE (X) == CONST_WIDE_INT)
 
#define CONST_POLY_INT_P(X)    (NUM_POLY_INT_COEFFS > 1 && GET_CODE (X) == CONST_POLY_INT)
 
#define CONST_FIXED_P(X)   (GET_CODE (X) == CONST_FIXED)
 
#define CONST_DOUBLE_P(X)   (GET_CODE (X) == CONST_DOUBLE)
 
#define CONST_DOUBLE_AS_INT_P(X)    (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) == VOIDmode)
 
#define CONST_SCALAR_INT_P(X)    (CONST_INT_P (X) || CONST_DOUBLE_AS_INT_P (X))
 
#define CONST_DOUBLE_AS_FLOAT_P(X)    (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) != VOIDmode)
 
#define CONST_VECTOR_P(X)   (GET_CODE (X) == CONST_VECTOR)
 
#define LABEL_P(X)   (GET_CODE (X) == CODE_LABEL)
 
#define JUMP_P(X)   (GET_CODE (X) == JUMP_INSN)
 
#define CALL_P(X)   (GET_CODE (X) == CALL_INSN)
 
#define FAKE_CALL_P(RTX)    (RTL_FLAG_CHECK1 ("FAKE_CALL_P", (RTX), CALL_INSN)->used)
 
#define NONJUMP_INSN_P(X)   (GET_CODE (X) == INSN)
 
#define DEBUG_INSN_P(X)   (GET_CODE (X) == DEBUG_INSN)
 
#define NONDEBUG_INSN_P(X)   (NONJUMP_INSN_P (X) || JUMP_P (X) || CALL_P (X))
 
#define MAY_HAVE_DEBUG_MARKER_INSNS   debug_nonbind_markers_p
 
#define MAY_HAVE_DEBUG_BIND_INSNS   flag_var_tracking_assignments
 
#define MAY_HAVE_DEBUG_INSNS    (MAY_HAVE_DEBUG_MARKER_INSNS || MAY_HAVE_DEBUG_BIND_INSNS)
 
#define INSN_P(X)   (NONDEBUG_INSN_P (X) || DEBUG_INSN_P (X))
 
#define NOTE_P(X)   (GET_CODE (X) == NOTE)
 
#define BARRIER_P(X)   (GET_CODE (X) == BARRIER)
 
#define JUMP_TABLE_DATA_P(INSN)   (GET_CODE (INSN) == JUMP_TABLE_DATA)
 
#define SUBREG_P(RTX)   (GET_CODE (RTX) == SUBREG)
 
#define SYMBOL_REF_P(RTX)   (GET_CODE (RTX) == SYMBOL_REF)
 
#define ANY_RETURN_P(X)    (GET_CODE (X) == RETURN || GET_CODE (X) == SIMPLE_RETURN)
 
#define UNARY_P(X)    (GET_RTX_CLASS (GET_CODE (X)) == RTX_UNARY)
 
#define BINARY_P(X)    ((GET_RTX_CLASS (GET_CODE (X)) & RTX_BINARY_MASK) == RTX_BINARY_RESULT)
 
#define ARITHMETIC_P(X)
 
#define COMMUTATIVE_ARITH_P(X)    (GET_RTX_CLASS (GET_CODE (X)) == RTX_COMM_ARITH)
 
#define SWAPPABLE_OPERANDS_P(X)
 
#define NON_COMMUTATIVE_P(X)
 
#define COMMUTATIVE_P(X)
 
#define COMPARISON_P(X)    ((GET_RTX_CLASS (GET_CODE (X)) & RTX_COMPARE_MASK) == RTX_COMPARE_RESULT)
 
#define CONSTANT_P(X)    (GET_RTX_CLASS (GET_CODE (X)) == RTX_CONST_OBJ)
 
#define LABEL_REF_P(X)    (GET_CODE (X) == LABEL_REF)
 
#define OBJECT_P(X)    ((GET_RTX_CLASS (GET_CODE (X)) & RTX_OBJ_MASK) == RTX_OBJ_RESULT)
 
#define RTL_CHECK1(RTX, N, C1)   ((RTX)->u.fld[N])
 
#define RTL_CHECK2(RTX, N, C1, C2)   ((RTX)->u.fld[N])
 
#define RTL_CHECKC1(RTX, N, C)   ((RTX)->u.fld[N])
 
#define RTL_CHECKC2(RTX, N, C1, C2)   ((RTX)->u.fld[N])
 
#define RTL_CHECKC3(RTX, N, C1, C2, C3)   ((RTX)->u.fld[N])
 
#define RTVEC_ELT(RTVEC, I)   ((RTVEC)->elem[I])
 
#define XWINT(RTX, N)   ((RTX)->u.hwint[N])
 
#define CWI_ELT(RTX, I)   ((RTX)->u.hwiv.elem[I])
 
#define XCWINT(RTX, N, C)   ((RTX)->u.hwint[N])
 
#define XCMWINT(RTX, N, C, M)   ((RTX)->u.hwint[N])
 
#define XCNMWINT(RTX, N, C, M)   ((RTX)->u.hwint[N])
 
#define XCNMPRV(RTX, C, M)   (&(RTX)->u.rv)
 
#define XCNMPFV(RTX, C, M)   (&(RTX)->u.fv)
 
#define REG_CHECK(RTX)   (&(RTX)->u.reg)
 
#define BLOCK_SYMBOL_CHECK(RTX)   (&(RTX)->u.block_sym)
 
#define HWIVEC_CHECK(RTX, C)   (&(RTX)->u.hwiv)
 
#define RTX_FLAG(RTX, FLAG)   ((RTX)->FLAG)
 
#define RTL_FLAG_CHECK1(NAME, RTX, C1)   (RTX)
 
#define RTL_FLAG_CHECK2(NAME, RTX, C1, C2)   (RTX)
 
#define RTL_FLAG_CHECK3(NAME, RTX, C1, C2, C3)   (RTX)
 
#define RTL_FLAG_CHECK4(NAME, RTX, C1, C2, C3, C4)   (RTX)
 
#define RTL_FLAG_CHECK5(NAME, RTX, C1, C2, C3, C4, C5)   (RTX)
 
#define RTL_FLAG_CHECK6(NAME, RTX, C1, C2, C3, C4, C5, C6)   (RTX)
 
#define RTL_FLAG_CHECK7(NAME, RTX, C1, C2, C3, C4, C5, C6, C7)   (RTX)
 
#define RTL_INSN_CHAIN_FLAG_CHECK(NAME, RTX)   (RTX)
 
#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 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)
 
#define XMODE(RTX, N)   (RTL_CHECK1 (RTX, N, 'M').rt_type)
 
#define XTREE(RTX, N)   (RTL_CHECK1 (RTX, N, 't').rt_tree)
 
#define XBBDEF(RTX, N)   (RTL_CHECK1 (RTX, N, 'B').rt_bb)
 
#define XTMPL(RTX, N)   (RTL_CHECK1 (RTX, N, 'T').rt_str)
 
#define XCFI(RTX, N)   (RTL_CHECK1 (RTX, N, 'C').rt_cfi)
 
#define XVECEXP(RTX, N, M)   RTVEC_ELT (XVEC (RTX, N), M)
 
#define XVECLEN(RTX, N)   GET_NUM_ELEM (XVEC (RTX, N))
 
#define X0INT(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rt_int)
 
#define X0UINT(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rt_uint)
 
#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)
 
#define X0MODE(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rt_type)
 
#define X0TREE(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rt_tree)
 
#define X0BBDEF(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rt_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_CHECKC1 (RTX, N, MEM).rt_mem)
 
#define X0CONSTANT(RTX, N)   (RTL_CHECK1 (RTX, N, '0').rt_constant)
 
#define X0ANY(RTX, N)   RTL_CHECK1 (RTX, N, '0')
 
#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 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)
 
#define XCVEC(RTX, N, C)   (RTL_CHECKC1 (RTX, N, C).rt_rtvec)
 
#define XCMODE(RTX, N, C)   (RTL_CHECKC1 (RTX, N, C).rt_type)
 
#define XCTREE(RTX, N, C)   (RTL_CHECKC1 (RTX, N, C).rt_tree)
 
#define XCBBDEF(RTX, N, C)   (RTL_CHECKC1 (RTX, N, C).rt_bb)
 
#define XCCFI(RTX, N, C)   (RTL_CHECKC1 (RTX, N, C).rt_cfi)
 
#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).rt_rtx)
 
#define XC3EXP(RTX, N, C1, C2, C3)   (RTL_CHECKC3 (RTX, N, C1, C2, C3).rt_rtx)
 
#define RTL_LOCATION(X)
 
#define INSN_CODE(INSN)   XINT (INSN, 5)
 
#define RTX_FRAME_RELATED_P(RTX)
 
#define CROSSING_JUMP_P(RTX)    (RTL_FLAG_CHECK1 ("CROSSING_JUMP_P", (RTX), JUMP_INSN)->jump)
 
#define RTL_CONST_CALL_P(RTX)    (RTL_FLAG_CHECK1 ("RTL_CONST_CALL_P", (RTX), CALL_INSN)->unchanging)
 
#define RTL_PURE_CALL_P(RTX)    (RTL_FLAG_CHECK1 ("RTL_PURE_CALL_P", (RTX), CALL_INSN)->return_val)
 
#define RTL_CONST_OR_PURE_CALL_P(RTX)    (RTL_CONST_CALL_P (RTX) || RTL_PURE_CALL_P (RTX))
 
#define RTL_LOOPING_CONST_OR_PURE_CALL_P(RTX)    (RTL_FLAG_CHECK1 ("CONST_OR_PURE_CALL_P", (RTX), CALL_INSN)->call)
 
#define SIBLING_CALL_P(RTX)    (RTL_FLAG_CHECK1 ("SIBLING_CALL_P", (RTX), CALL_INSN)->jump)
 
#define INSN_ANNULLED_BRANCH_P(RTX)    (RTL_FLAG_CHECK1 ("INSN_ANNULLED_BRANCH_P", (RTX), JUMP_INSN)->unchanging)
 
#define INSN_FROM_TARGET_P(RTX)
 
#define ADDR_DIFF_VEC_FLAGS(RTX)   X0ADVFLAGS (RTX, 4)
 
#define CSELIB_VAL_PTR(RTX)   X0CSELIB (RTX, 0)
 
#define REG_NOTES(INSN)   XEXP(INSN, 6)
 
#define ENTRY_VALUE_EXP(RTX)   (RTL_CHECKC1 (RTX, 0, ENTRY_VALUE).rt_rtx)
 
#define DEF_REG_NOTE(NAME)   NAME,
 
#define REG_NOTE_KIND(LINK)   ((enum reg_note) GET_MODE (LINK))
 
#define PUT_REG_NOTE_KIND(LINK, KIND)    PUT_MODE_RAW (LINK, (machine_mode) (KIND))
 
#define GET_REG_NOTE_NAME(MODE)   (reg_note_name[(int) (MODE)])
 
#define CALL_INSN_FUNCTION_USAGE(INSN)   XEXP(INSN, 7)
 
#define CODE_LABEL_NUMBER(INSN)   XINT (INSN, 5)
 
#define NOTE_DATA(INSN)   RTL_CHECKC1 (INSN, 3, NOTE)
 
#define NOTE_DELETED_LABEL_NAME(INSN)   XCSTR (INSN, 3, NOTE)
 
#define SET_INSN_DELETED(INSN)   set_insn_deleted (INSN);
 
#define NOTE_BLOCK(INSN)   XCTREE (INSN, 3, NOTE)
 
#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_CFI(INSN)   XCCFI (INSN, 3, NOTE)
 
#define NOTE_LABEL_NUMBER(INSN)   XCINT (INSN, 3, NOTE)
 
#define NOTE_KIND(INSN)   XCINT (INSN, 4, NOTE)
 
#define NOTE_INSN_BASIC_BLOCK_P(INSN)    (NOTE_P (INSN) && NOTE_KIND (INSN) == NOTE_INSN_BASIC_BLOCK)
 
#define NOTE_MARKER_P(INSN)
 
#define PAT_VAR_LOCATION_DECL(PAT)   (XCTREE ((PAT), 0, VAR_LOCATION))
 
#define PAT_VAR_LOCATION_LOC(PAT)   (XCEXP ((PAT), 1, VAR_LOCATION))
 
#define PAT_VAR_LOCATION_STATUS(PAT)
 
#define NOTE_VAR_LOCATION_DECL(NOTE)    PAT_VAR_LOCATION_DECL (NOTE_VAR_LOCATION (NOTE))
 
#define NOTE_VAR_LOCATION_LOC(NOTE)    PAT_VAR_LOCATION_LOC (NOTE_VAR_LOCATION (NOTE))
 
#define NOTE_VAR_LOCATION_STATUS(NOTE)    PAT_VAR_LOCATION_STATUS (NOTE_VAR_LOCATION (NOTE))
 
#define DEBUG_BIND_INSN_P(INSN)
 
#define DEBUG_MARKER_INSN_P(INSN)
 
#define INSN_DEBUG_MARKER_KIND(INSN)
 
#define GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT()    gen_rtx_DEBUG_MARKER (VOIDmode)
 
#define GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT()    gen_rtx_DEBUG_MARKER (BLKmode)
 
#define INSN_VAR_LOCATION(INSN)    (RTL_FLAG_CHECK1 ("INSN_VAR_LOCATION", PATTERN (INSN), VAR_LOCATION))
 
#define INSN_VAR_LOCATION_PTR(INSN)    (&PATTERN (INSN))
 
#define INSN_VAR_LOCATION_DECL(INSN)    PAT_VAR_LOCATION_DECL (INSN_VAR_LOCATION (INSN))
 
#define INSN_VAR_LOCATION_LOC(INSN)    PAT_VAR_LOCATION_LOC (INSN_VAR_LOCATION (INSN))
 
#define INSN_VAR_LOCATION_STATUS(INSN)    PAT_VAR_LOCATION_STATUS (INSN_VAR_LOCATION (INSN))
 
#define gen_rtx_UNKNOWN_VAR_LOC()   (gen_rtx_CLOBBER (VOIDmode, const0_rtx))
 
#define VAR_LOC_UNKNOWN_P(X)    (GET_CODE (X) == CLOBBER && XEXP ((X), 0) == const0_rtx)
 
#define NOTE_DURING_CALL_P(RTX)    (RTL_FLAG_CHECK1 ("NOTE_VAR_LOCATION_DURING_CALL_P", (RTX), NOTE)->call)
 
#define DEBUG_EXPR_TREE_DECL(RTX)   XCTREE (RTX, 0, DEBUG_EXPR)
 
#define DEBUG_IMPLICIT_PTR_DECL(RTX)   XCTREE (RTX, 0, DEBUG_IMPLICIT_PTR)
 
#define DEBUG_PARAMETER_REF_DECL(RTX)   XCTREE (RTX, 0, DEBUG_PARAMETER_REF)
 
#define DEF_INSN_NOTE(NAME)   NAME,
 
#define GET_NOTE_INSN_NAME(NOTE_CODE)    (note_insn_name[(NOTE_CODE)])
 
#define LABEL_NAME(RTX)   XCSTR (RTX, 6, CODE_LABEL)
 
#define LABEL_NUSES(RTX)   XCINT (RTX, 4, CODE_LABEL)
 
#define LABEL_KIND(LABEL)    ((enum label_kind) (((LABEL)->jump << 1) | (LABEL)->call))
 
#define SET_LABEL_KIND(LABEL, KIND)
 
#define LABEL_ALT_ENTRY_P(LABEL)   (LABEL_KIND (LABEL) != LABEL_NORMAL)
 
#define JUMP_LABEL(INSN)   XCEXP (INSN, 7, JUMP_INSN)
 
#define LABEL_REFS(LABEL)   XCEXP (LABEL, 3, CODE_LABEL)
 
#define REGNO(RTX)   (rhs_regno(RTX))
 
#define SET_REGNO(RTX, N)   (df_ref_change_reg_with_loc (RTX, N))
 
#define REG_NREGS(RTX)   (REG_CHECK (RTX)->nregs)
 
#define ORIGINAL_REGNO(RTX)    (RTL_FLAG_CHECK1 ("ORIGINAL_REGNO", (RTX), REG)->u2.original_regno)
 
#define REG_FUNCTION_VALUE_P(RTX)    (RTL_FLAG_CHECK2 ("REG_FUNCTION_VALUE_P", (RTX), REG, PARALLEL)->return_val)
 
#define REG_USERVAR_P(RTX)    (RTL_FLAG_CHECK1 ("REG_USERVAR_P", (RTX), REG)->volatil)
 
#define REG_POINTER(RTX)    (RTL_FLAG_CHECK1 ("REG_POINTER", (RTX), REG)->frame_related)
 
#define MEM_POINTER(RTX)    (RTL_FLAG_CHECK1 ("MEM_POINTER", (RTX), MEM)->frame_related)
 
#define HARD_REGISTER_P(REG)   HARD_REGISTER_NUM_P (REGNO (REG))
 
#define HARD_REGISTER_NUM_P(REG_NO)   ((REG_NO) < FIRST_PSEUDO_REGISTER)
 
#define VIRTUAL_REGISTER_P(REG)   VIRTUAL_REGISTER_NUM_P (REGNO (REG))
 
#define VIRTUAL_REGISTER_NUM_P(REG_NO)    IN_RANGE (REG_NO, FIRST_VIRTUAL_REGISTER, LAST_VIRTUAL_REGISTER)
 
#define INTVAL(RTX)   XCWINT (RTX, 0, CONST_INT)
 
#define UINTVAL(RTX)   ((unsigned HOST_WIDE_INT) INTVAL (RTX))
 
#define CONST_WIDE_INT_VEC(RTX)   HWIVEC_CHECK (RTX, CONST_WIDE_INT)
 
#define CONST_WIDE_INT_NUNITS(RTX)   CWI_GET_NUM_ELEM (RTX)
 
#define CONST_WIDE_INT_ELT(RTX, N)   CWI_ELT (RTX, N)
 
#define CONST_POLY_INT_COEFFS(RTX)
 
#define CONST_DOUBLE_LOW(r)   XCMWINT (r, 0, CONST_DOUBLE, VOIDmode)
 
#define CONST_DOUBLE_HIGH(r)   XCMWINT (r, 1, CONST_DOUBLE, VOIDmode)
 
#define CONST_DOUBLE_REAL_VALUE(r)    ((const struct real_value *) XCNMPRV (r, CONST_DOUBLE, VOIDmode))
 
#define CONST_FIXED_VALUE(r)    ((const struct fixed_value *) XCNMPFV (r, CONST_FIXED, VOIDmode))
 
#define CONST_FIXED_VALUE_HIGH(r)    ((HOST_WIDE_INT) (CONST_FIXED_VALUE (r)->data.high))
 
#define CONST_FIXED_VALUE_LOW(r)    ((HOST_WIDE_INT) (CONST_FIXED_VALUE (r)->data.low))
 
#define CONST_VECTOR_ELT(RTX, N)   const_vector_elt (RTX, N)
 
#define CONST_VECTOR_NPATTERNS(RTX)
 
#define CONST_VECTOR_NELTS_PER_PATTERN(RTX)
 
#define CONST_VECTOR_DUPLICATE_P(RTX)    (CONST_VECTOR_NELTS_PER_PATTERN (RTX) == 1)
 
#define CONST_VECTOR_STEPPED_P(RTX)    (CONST_VECTOR_NELTS_PER_PATTERN (RTX) == 3)
 
#define CONST_VECTOR_ENCODED_ELT(RTX, N)   XCVECEXP (RTX, 0, N, CONST_VECTOR)
 
#define CONST_VECTOR_NUNITS(RTX)   GET_MODE_NUNITS (GET_MODE (RTX))
 
#define SUBREG_REG(RTX)   XCEXP (RTX, 0, SUBREG)
 
#define SUBREG_BYTE(RTX)   XCSUBREG (RTX, 1, SUBREG)
 
#define COSTS_N_INSNS(N)   ((N) * 4)
 
#define MAX_COST   INT_MAX
 
#define SUBREG_PROMOTED_VAR_P(RTX)    (RTL_FLAG_CHECK1 ("SUBREG_PROMOTED", (RTX), SUBREG)->in_struct)
 
#define SUBREG_PROMOTED_SET(RTX, VAL)
 
#define SUBREG_PROMOTED_GET(RTX)
 
#define SUBREG_PROMOTED_SIGN(RTX)
 
#define SUBREG_PROMOTED_SIGNED_P(RTX)    (RTL_FLAG_CHECK1 ("SUBREG_PROMOTED_SIGNED_P", (RTX), SUBREG)->unchanging)
 
#define SUBREG_PROMOTED_UNSIGNED_P(RTX)    (RTL_FLAG_CHECK1 ("SUBREG_PROMOTED_UNSIGNED_P", (RTX), SUBREG)->volatil)
 
#define SUBREG_CHECK_PROMOTED_SIGN(RTX, SIGN)
 
#define STATIC_CHAIN_REG_P(RTX)    (RTL_FLAG_CHECK1 ("STATIC_CHAIN_REG_P", (RTX), REG)->jump)
 
#define LRA_SUBREG_P(RTX)    (RTL_FLAG_CHECK1 ("LRA_SUBREG_P", (RTX), SUBREG)->jump)
 
#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)
 
#define ASM_OPERANDS_INPUT_CONSTRAINT(RTX, N)    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_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 MEM_READONLY_P(RTX)    (RTL_FLAG_CHECK1 ("MEM_READONLY_P", (RTX), MEM)->unchanging)
 
#define MEM_KEEP_ALIAS_SET_P(RTX)    (RTL_FLAG_CHECK1 ("MEM_KEEP_ALIAS_SET_P", (RTX), MEM)->jump)
 
#define MEM_VOLATILE_P(RTX)
 
#define MEM_NOTRAP_P(RTX)    (RTL_FLAG_CHECK1 ("MEM_NOTRAP_P", (RTX), MEM)->call)
 
#define MEM_ATTRS(RTX)   X0MEMATTR (RTX, 1)
 
#define REG_ATTRS(RTX)   (REG_CHECK (RTX)->attrs)
 
#define MEM_ALIAS_SET(RTX)   (get_mem_attrs (RTX)->alias)
 
#define MEM_EXPR(RTX)   (get_mem_attrs (RTX)->expr)
 
#define MEM_OFFSET_KNOWN_P(RTX)   (get_mem_attrs (RTX)->offset_known_p)
 
#define MEM_OFFSET(RTX)   (get_mem_attrs (RTX)->offset)
 
#define MEM_ADDR_SPACE(RTX)   (get_mem_attrs (RTX)->addrspace)
 
#define MEM_SIZE_KNOWN_P(RTX)   (get_mem_attrs (RTX)->size_known_p)
 
#define MEM_SIZE(RTX)   (get_mem_attrs (RTX)->size)
 
#define MEM_ALIGN(RTX)   (get_mem_attrs (RTX)->align)
 
#define REG_EXPR(RTX)   (REG_ATTRS (RTX) == 0 ? 0 : REG_ATTRS (RTX)->decl)
 
#define REG_OFFSET(RTX)   (REG_ATTRS (RTX) == 0 ? 0 : REG_ATTRS (RTX)->offset)
 
#define MEM_COPY_ATTRIBUTES(LHS, RHS)
 
#define LABEL_REF_NONLOCAL_P(RTX)    (RTL_FLAG_CHECK1 ("LABEL_REF_NONLOCAL_P", (RTX), LABEL_REF)->volatil)
 
#define LABEL_PRESERVE_P(RTX)    (RTL_FLAG_CHECK2 ("LABEL_PRESERVE_P", (RTX), CODE_LABEL, NOTE)->in_struct)
 
#define SCHED_GROUP_P(RTX)
 
#define SET_DEST(RTX)   XC2EXP (RTX, 0, SET, CLOBBER)
 
#define SET_SRC(RTX)   XCEXP (RTX, 1, SET)
 
#define SET_IS_RETURN_P(RTX)    (RTL_FLAG_CHECK1 ("SET_IS_RETURN_P", (RTX), SET)->jump)
 
#define TRAP_CONDITION(RTX)   XCEXP (RTX, 0, TRAP_IF)
 
#define TRAP_CODE(RTX)   XCEXP (RTX, 1, TRAP_IF)
 
#define COND_EXEC_TEST(RTX)   XCEXP (RTX, 0, COND_EXEC)
 
#define COND_EXEC_CODE(RTX)   XCEXP (RTX, 1, COND_EXEC)
 
#define CONSTANT_POOL_ADDRESS_P(RTX)    (RTL_FLAG_CHECK1 ("CONSTANT_POOL_ADDRESS_P", (RTX), SYMBOL_REF)->unchanging)
 
#define TREE_CONSTANT_POOL_ADDRESS_P(RTX)
 
#define SYMBOL_REF_FLAG(RTX)    (RTL_FLAG_CHECK1 ("SYMBOL_REF_FLAG", (RTX), SYMBOL_REF)->volatil)
 
#define SYMBOL_REF_USED(RTX)    (RTL_FLAG_CHECK1 ("SYMBOL_REF_USED", (RTX), SYMBOL_REF)->used)
 
#define SYMBOL_REF_WEAK(RTX)    (RTL_FLAG_CHECK1 ("SYMBOL_REF_WEAK", (RTX), SYMBOL_REF)->return_val)
 
#define SYMBOL_REF_DATA(RTX)   X0ANY ((RTX), 1)
 
#define SET_SYMBOL_REF_DECL(RTX, DECL)    (gcc_assert (!CONSTANT_POOL_ADDRESS_P (RTX)), X0TREE ((RTX), 1) = (DECL))
 
#define SYMBOL_REF_DECL(RTX)    (CONSTANT_POOL_ADDRESS_P (RTX) ? NULL : X0TREE ((RTX), 1))
 
#define SET_SYMBOL_REF_CONSTANT(RTX, C)    (gcc_assert (CONSTANT_POOL_ADDRESS_P (RTX)), X0CONSTANT ((RTX), 1) = (C))
 
#define SYMBOL_REF_CONSTANT(RTX)    (CONSTANT_POOL_ADDRESS_P (RTX) ? X0CONSTANT ((RTX), 1) : NULL)
 
#define SYMBOL_REF_FLAGS(RTX)
 
#define SYMBOL_FLAG_FUNCTION   (1 << 0)
 
#define SYMBOL_REF_FUNCTION_P(RTX)    ((SYMBOL_REF_FLAGS (RTX) & SYMBOL_FLAG_FUNCTION) != 0)
 
#define SYMBOL_FLAG_LOCAL   (1 << 1)
 
#define SYMBOL_REF_LOCAL_P(RTX)    ((SYMBOL_REF_FLAGS (RTX) & SYMBOL_FLAG_LOCAL) != 0)
 
#define SYMBOL_FLAG_SMALL   (1 << 2)
 
#define SYMBOL_REF_SMALL_P(RTX)    ((SYMBOL_REF_FLAGS (RTX) & SYMBOL_FLAG_SMALL) != 0)
 
#define SYMBOL_FLAG_TLS_SHIFT   3
 
#define SYMBOL_REF_TLS_MODEL(RTX)    ((enum tls_model) ((SYMBOL_REF_FLAGS (RTX) >> SYMBOL_FLAG_TLS_SHIFT) & 7))
 
#define SYMBOL_FLAG_EXTERNAL   (1 << 6)
 
#define SYMBOL_REF_EXTERNAL_P(RTX)    ((SYMBOL_REF_FLAGS (RTX) & SYMBOL_FLAG_EXTERNAL) != 0)
 
#define SYMBOL_FLAG_HAS_BLOCK_INFO   (1 << 7)
 
#define SYMBOL_REF_HAS_BLOCK_INFO_P(RTX)    ((SYMBOL_REF_FLAGS (RTX) & SYMBOL_FLAG_HAS_BLOCK_INFO) != 0)
 
#define SYMBOL_FLAG_ANCHOR   (1 << 8)
 
#define SYMBOL_REF_ANCHOR_P(RTX)    ((SYMBOL_REF_FLAGS (RTX) & SYMBOL_FLAG_ANCHOR) != 0)
 
#define SYMBOL_FLAG_MACH_DEP_SHIFT   9
 
#define SYMBOL_FLAG_MACH_DEP   (1 << SYMBOL_FLAG_MACH_DEP_SHIFT)
 
#define SYMBOL_REF_BLOCK(RTX)   (BLOCK_SYMBOL_CHECK (RTX)->block)
 
#define SYMBOL_REF_BLOCK_OFFSET(RTX)   (BLOCK_SYMBOL_CHECK (RTX)->offset)
 
#define PREFETCH_SCHEDULE_BARRIER_P(RTX)    (RTL_FLAG_CHECK1 ("PREFETCH_SCHEDULE_BARRIER_P", (RTX), PREFETCH)->volatil)
 
#define AUTO_INC_DEC   0
 
#define FIND_REG_INC_NOTE(INSN, REG)   0
 
#define HAVE_PRE_INCREMENT   0
 
#define HAVE_PRE_DECREMENT   0
 
#define HAVE_POST_INCREMENT   0
 
#define HAVE_POST_DECREMENT   0
 
#define HAVE_POST_MODIFY_DISP   0
 
#define HAVE_POST_MODIFY_REG   0
 
#define HAVE_PRE_MODIFY_DISP   0
 
#define HAVE_PRE_MODIFY_REG   0
 
#define USE_LOAD_POST_INCREMENT(MODE)   HAVE_POST_INCREMENT
 
#define USE_LOAD_POST_DECREMENT(MODE)   HAVE_POST_DECREMENT
 
#define USE_LOAD_PRE_INCREMENT(MODE)   HAVE_PRE_INCREMENT
 
#define USE_LOAD_PRE_DECREMENT(MODE)   HAVE_PRE_DECREMENT
 
#define USE_STORE_POST_INCREMENT(MODE)   HAVE_POST_INCREMENT
 
#define USE_STORE_POST_DECREMENT(MODE)   HAVE_POST_DECREMENT
 
#define USE_STORE_PRE_INCREMENT(MODE)   HAVE_PRE_INCREMENT
 
#define USE_STORE_PRE_DECREMENT(MODE)   HAVE_PRE_DECREMENT
 
#define EXTRACT_ARGS_IN_RANGE(SIZE, POS, RANGE)
 
#define rtx_alloca(code)    rtx_init ((rtx) alloca (RTX_CODE_SIZE ((code))), (code))
 
#define rtx_alloc_v(c, SZ)   rtx_alloc_stat_v (c MEM_STAT_INFO, SZ)
 
#define const_wide_int_alloc(NWORDS)
 
#define convert_memory_address(to_mode, x)    convert_memory_address_addr_space ((to_mode), (x), ADDR_SPACE_GENERIC)
 
#define MAX_SAVED_CONST_INT   64
 
#define const0_rtx   (const_int_rtx[MAX_SAVED_CONST_INT])
 
#define const1_rtx   (const_int_rtx[MAX_SAVED_CONST_INT+1])
 
#define const2_rtx   (const_int_rtx[MAX_SAVED_CONST_INT+2])
 
#define constm1_rtx   (const_int_rtx[MAX_SAVED_CONST_INT-1])
 
#define CONST0_RTX(MODE)   (const_tiny_rtx[0][(int) (MODE)])
 
#define CONST1_RTX(MODE)   (const_tiny_rtx[1][(int) (MODE)])
 
#define CONST2_RTX(MODE)   (const_tiny_rtx[2][(int) (MODE)])
 
#define CONSTM1_RTX(MODE)   (const_tiny_rtx[3][(int) (MODE)])
 
#define HARD_FRAME_POINTER_REGNUM   FRAME_POINTER_REGNUM
 
#define HARD_FRAME_POINTER_IS_FRAME_POINTER    (HARD_FRAME_POINTER_REGNUM == FRAME_POINTER_REGNUM)
 
#define HARD_FRAME_POINTER_IS_ARG_POINTER    (HARD_FRAME_POINTER_REGNUM == ARG_POINTER_REGNUM)
 
#define this_target_rtl   (&default_target_rtl)
 
#define global_rtl    (this_target_rtl->x_global_rtl)
 
#define pic_offset_table_rtx    (this_target_rtl->x_pic_offset_table_rtx)
 
#define return_address_pointer_rtx    (this_target_rtl->x_return_address_pointer_rtx)
 
#define top_of_stack    (this_target_rtl->x_top_of_stack)
 
#define mode_mem_attrs    (this_target_rtl->x_mode_mem_attrs)
 
#define stack_pointer_rtx   (global_rtl[GR_STACK_POINTER])
 
#define frame_pointer_rtx   (global_rtl[GR_FRAME_POINTER])
 
#define hard_frame_pointer_rtx   (global_rtl[GR_HARD_FRAME_POINTER])
 
#define arg_pointer_rtx   (global_rtl[GR_ARG_POINTER])
 
#define gen_rtx_ASM_INPUT(MODE, ARG0)    gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), 0)
 
#define gen_rtx_ASM_INPUT_loc(MODE, ARG0, LOC)    gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), (LOC))
 
#define alloca_raw_REG(mode, regno)    init_raw_REG (rtx_alloca (REG), (mode), (regno))
 
#define GEN_INT(N)   gen_rtx_CONST_INT (VOIDmode, (N))
 
#define FIRST_VIRTUAL_REGISTER   (FIRST_PSEUDO_REGISTER)
 
#define virtual_incoming_args_rtx   (global_rtl[GR_VIRTUAL_INCOMING_ARGS])
 
#define VIRTUAL_INCOMING_ARGS_REGNUM   (FIRST_VIRTUAL_REGISTER)
 
#define virtual_stack_vars_rtx   (global_rtl[GR_VIRTUAL_STACK_ARGS])
 
#define VIRTUAL_STACK_VARS_REGNUM   ((FIRST_VIRTUAL_REGISTER) + 1)
 
#define virtual_stack_dynamic_rtx   (global_rtl[GR_VIRTUAL_STACK_DYNAMIC])
 
#define VIRTUAL_STACK_DYNAMIC_REGNUM   ((FIRST_VIRTUAL_REGISTER) + 2)
 
#define virtual_outgoing_args_rtx   (global_rtl[GR_VIRTUAL_OUTGOING_ARGS])
 
#define VIRTUAL_OUTGOING_ARGS_REGNUM   ((FIRST_VIRTUAL_REGISTER) + 3)
 
#define virtual_cfa_rtx   (global_rtl[GR_VIRTUAL_CFA])
 
#define VIRTUAL_CFA_REGNUM   ((FIRST_VIRTUAL_REGISTER) + 4)
 
#define LAST_VIRTUAL_POINTER_REGISTER   ((FIRST_VIRTUAL_REGISTER) + 4)
 
#define virtual_preferred_stack_boundary_rtx    (global_rtl[GR_VIRTUAL_PREFERRED_STACK_BOUNDARY])
 
#define VIRTUAL_PREFERRED_STACK_BOUNDARY_REGNUM    ((FIRST_VIRTUAL_REGISTER) + 5)
 
#define LAST_VIRTUAL_REGISTER   ((FIRST_VIRTUAL_REGISTER) + 5)
 
#define REGNO_PTR_FRAME_P(REGNUM)
 
#define INVALID_REGNUM   (~(unsigned int) 0)
 
#define IGNORED_DWARF_REGNUM   (INVALID_REGNUM - 1)
 
#define can_create_pseudo_p()   (!reload_in_progress && !reload_completed)
 
#define gen_lowpart   rtl_hooks.gen_lowpart
 
#define fatal_insn(msgid, insn)    _fatal_insn (msgid, insn, __FILE__, __LINE__, __FUNCTION__)
 
#define fatal_insn_not_found(insn)    _fatal_insn_not_found (insn, __FILE__, __LINE__, __FUNCTION__)
 

Typedefs

typedef std::pair< rtx, machine_mode > rtx_mode_t
 
typedef poly_int< NUM_POLY_INT_COEFFS, generic_wide_int< wide_int_ref_storage< false, false > > > wi::rtx_to_poly_wide_ref
 
typedef bool(* rtx_equal_p_callback_function) (const_rtx *, const_rtx *, rtx *, rtx *)
 
typedef int(* for_each_inc_dec_fn) (rtx mem, rtx op, rtx dest, rtx src, rtx srcoff, void *arg)
 
typedef bool(* hash_rtx_callback_function) (const_rtx, machine_mode, rtx *, machine_mode *)
 

Enumerations

enum  rtx_code : unsigned { LAST_AND_UNUSED_RTX_CODE }
 
enum  rtx_class {
  RTX_COMPARE , RTX_COMM_COMPARE , RTX_BIN_ARITH , RTX_COMM_ARITH ,
  RTX_UNARY , RTX_EXTRA , RTX_MATCH , RTX_INSN ,
  RTX_OBJ , RTX_CONST_OBJ , RTX_TERNARY , RTX_BITFIELD_OPS ,
  RTX_AUTOINC
}
 
enum  reg_note { REG_NOTE_MAX }
 
enum  insn_note { NOTE_INSN_MAX }
 
enum  label_kind { LABEL_NORMAL = 0 , LABEL_STATIC_ENTRY , LABEL_GLOBAL_ENTRY , LABEL_WEAK_ENTRY }
 
enum  global_rtl_index {
  GR_STACK_POINTER , GR_FRAME_POINTER , GR_ARG_POINTER = GR_FRAME_POINTER , GR_HARD_FRAME_POINTER = GR_FRAME_POINTER ,
  GR_VIRTUAL_INCOMING_ARGS , GR_VIRTUAL_STACK_ARGS , GR_VIRTUAL_STACK_DYNAMIC , GR_VIRTUAL_OUTGOING_ARGS ,
  GR_VIRTUAL_CFA , GR_VIRTUAL_PREFERRED_STACK_BOUNDARY , GR_MAX
}
 
enum  memop_ret { RETURN_BEGIN , RETURN_END , RETURN_END_MINUS_ONE }
 
enum  libcall_type {
  LCT_NORMAL = 0 , LCT_CONST = 1 , LCT_PURE = 2 , LCT_NORETURN = 3 ,
  LCT_THROW = 4 , LCT_RETURNS_TWICE = 5
}
 

Functions

int INSN_UID (const_rtx insn)
 
rtx_insnPREV_INSN (const rtx_insn *insn)
 
rtxSET_PREV_INSN (rtx_insn *insn)
 
rtx_insnNEXT_INSN (const rtx_insn *insn)
 
rtxSET_NEXT_INSN (rtx_insn *insn)
 
basic_block BLOCK_FOR_INSN (const_rtx insn)
 
void set_block_for_insn (rtx_insn *insn, basic_block bb)
 
rtx PATTERN (const_rtx insn)
 
unsigned int INSN_LOCATION (const rtx_insn *insn)
 
unsigned int & INSN_LOCATION (rtx_insn *insn)
 
bool INSN_HAS_LOCATION (const rtx_insn *insn)
 
rtx_jump_table_datajump_table_for_label (const rtx_code_label *label)
 
rtx_insnJUMP_LABEL_AS_INSN (const rtx_insn *insn)
 
rtx_insnlabel_ref_label (const_rtx ref)
 
void set_label_ref_label (rtx ref, rtx_insn *label)
 
unsigned int rhs_regno (const_rtx x)
 
unsigned int END_REGNO (const_rtx x)
 
void set_regno_raw (rtx x, unsigned int regno, unsigned int nregs)
 
unsigned int const_vector_encoded_nelts (const_rtx x)
 
bool always_void_p (enum rtx_code code)
 
void init_costs_to_max (struct full_rtx_costs *c)
 
void init_costs_to_zero (struct full_rtx_costs *c)
 
bool costs_lt_p (struct full_rtx_costs *a, struct full_rtx_costs *b, bool speed)
 
void costs_add_n_insns (struct full_rtx_costs *c, int n)
 
subreg_shape shape_of_subreg (const_rtx x)
 
hwi_with_prec wi::shwi (HOST_WIDE_INT, machine_mode mode)
 
wide_int wi::min_value (machine_mode, signop)
 
wide_int wi::max_value (machine_mode, signop)
 
rtx_to_poly_wide_ref wi::to_poly_wide (const_rtx, machine_mode)
 
wi::rtx_to_poly_wide_ref const_poly_int_value (const_rtx x)
 
bool poly_int_rtx_p (const_rtx x)
 
poly_int64 rtx_to_poly_int64 (const_rtx x)
 
bool poly_int_rtx_p (const_rtx x, poly_int64 *res)
 
void init_rtlanal (void)
 
int rtx_cost (rtx, machine_mode, enum rtx_code, int, bool)
 
int address_cost (rtx, machine_mode, addr_space_t, bool)
 
void get_full_rtx_cost (rtx, machine_mode, enum rtx_code, int, struct full_rtx_costs *)
 
bool native_encode_rtx (machine_mode, rtx, vec< target_unit > &, unsigned int, unsigned int)
 
rtx native_decode_rtx (machine_mode, const vec< target_unit > &, unsigned int)
 
rtx native_decode_vector_rtx (machine_mode, const vec< target_unit > &, unsigned int, unsigned int, unsigned int)
 
poly_uint64 subreg_lsb (const_rtx)
 
poly_uint64 subreg_size_lsb (poly_uint64, poly_uint64, poly_uint64)
 
poly_uint64 subreg_size_offset_from_lsb (poly_uint64, poly_uint64, poly_uint64)
 
bool read_modify_subreg_p (const_rtx)
 
poly_uint64 subreg_lsb_1 (machine_mode outer_mode, machine_mode inner_mode, poly_uint64 subreg_byte)
 
poly_uint64 subreg_offset_from_lsb (machine_mode outer_mode, machine_mode inner_mode, poly_uint64 lsb_shift)
 
unsigned int subreg_regno_offset (unsigned int, machine_mode, poly_uint64, machine_mode)
 
bool subreg_offset_representable_p (unsigned int, machine_mode, poly_uint64, machine_mode)
 
unsigned int subreg_regno (const_rtx)
 
int simplify_subreg_regno (unsigned int, machine_mode, poly_uint64, machine_mode)
 
int lowpart_subreg_regno (unsigned int, machine_mode, machine_mode)
 
unsigned int subreg_nregs (const_rtx)
 
unsigned int subreg_nregs_with_regno (unsigned int, const_rtx)
 
unsigned HOST_WIDE_INT nonzero_bits (const_rtx, machine_mode)
 
unsigned int num_sign_bit_copies (const_rtx, machine_mode)
 
bool constant_pool_constant_p (rtx)
 
bool truncated_to_mode (machine_mode, const_rtx)
 
int low_bitmask_len (machine_mode, unsigned HOST_WIDE_INT)
 
void split_double (rtx, rtx *, rtx *)
 
rtxstrip_address_mutations (rtx *, enum rtx_code *=0)
 
void decompose_address (struct address_info *, rtx *, machine_mode, addr_space_t, enum rtx_code)
 
void decompose_lea_address (struct address_info *, rtx *)
 
void decompose_mem_address (struct address_info *, rtx)
 
void update_address (struct address_info *)
 
HOST_WIDE_INT get_index_scale (const struct address_info *)
 
enum rtx_code get_index_code (const struct address_info *)
 
int set_rtx_cost (rtx x, bool speed_p)
 
void get_full_set_rtx_cost (rtx x, struct full_rtx_costs *c)
 
int set_src_cost (rtx x, machine_mode mode, bool speed_p)
 
void get_full_set_src_cost (rtx x, machine_mode mode, struct full_rtx_costs *c)
 
HOST_WIDE_INT trunc_int_for_mode (HOST_WIDE_INT, machine_mode)
 
poly_int64 trunc_int_for_mode (poly_int64, machine_mode)
 
rtx plus_constant (machine_mode, rtx, poly_int64, bool=false)
 
HOST_WIDE_INT get_stack_check_protect (void)
 
rtx rtx_alloc (RTX_CODE CXX_MEM_STAT_INFO)
 
rtx rtx_init (rtx rt, RTX_CODE code)
 
rtx rtx_alloc_stat_v (RTX_CODE MEM_STAT_DECL, int)
 
rtvec rtvec_alloc (size_t)
 
rtvec shallow_copy_rtvec (rtvec)
 
bool shared_const_p (const_rtx)
 
rtx copy_rtx (rtx)
 
enum rtx_code classify_insn (rtx)
 
void dump_rtx_statistics (void)
 
rtx copy_rtx_if_shared (rtx)
 
unsigned int rtx_size (const_rtx)
 
rtx shallow_copy_rtx (const_rtx CXX_MEM_STAT_INFO)
 
bool rtx_equal_p (const_rtx, const_rtx, rtx_equal_p_callback_function=NULL)
 
bool rtvec_all_equal_p (const_rtvec)
 
bool rtvec_series_p (rtvec, int)
 
bool const_vec_duplicate_p (const_rtx x)
 
template<typename T >
bool const_vec_duplicate_p (T x, T *elt)
 
template<typename T >
bool vec_duplicate_p (T x, T *elt)
 
template<typename T >
T unwrap_const_vec_duplicate (T x)
 
wide_int const_vector_int_elt (const_rtx, unsigned int)
 
rtx const_vector_elt (const_rtx, unsigned int)
 
bool const_vec_series_p_1 (const_rtx, rtx *, rtx *)
 
bool const_vec_series_p (const_rtx x, rtx *base_out, rtx *step_out)
 
bool vec_series_p (const_rtx x, rtx *base_out, rtx *step_out)
 
bool same_vector_encodings_p (const_rtx x, const_rtx y)
 
scalar_int_mode subreg_unpromoted_mode (rtx x)
 
scalar_int_mode subreg_promoted_mode (rtx x)
 
rtvec gen_rtvec_v (int, rtx *)
 
rtvec gen_rtvec_v (int, rtx_insn **)
 
rtx gen_reg_rtx (machine_mode)
 
rtx gen_rtx_REG_offset (rtx, machine_mode, unsigned int, poly_int64)
 
rtx gen_reg_rtx_offset (rtx, machine_mode, int)
 
rtx gen_reg_rtx_and_attrs (rtx)
 
rtx_code_labelgen_label_rtx (void)
 
rtx gen_lowpart_common (machine_mode, rtx)
 
rtx gen_lowpart_if_possible (machine_mode, rtx)
 
rtx gen_highpart (machine_mode, rtx)
 
rtx gen_highpart_mode (machine_mode, machine_mode, rtx)
 
rtx operand_subword (rtx, poly_uint64, int, machine_mode)
 
rtx operand_subword_force (rtx, poly_uint64, machine_mode)
 
bool subreg_lowpart_p (const_rtx)
 
poly_uint64 subreg_size_lowpart_offset (poly_uint64, poly_uint64)
 
bool partial_subreg_p (machine_mode outermode, machine_mode innermode)
 
bool partial_subreg_p (const_rtx x)
 
bool paradoxical_subreg_p (machine_mode outermode, machine_mode innermode)
 
bool paradoxical_subreg_p (const_rtx x)
 
poly_uint64 subreg_lowpart_offset (machine_mode outermode, machine_mode innermode)
 
machine_mode narrower_subreg_mode (machine_mode outermode, machine_mode innermode)
 
machine_mode wider_subreg_mode (machine_mode outermode, machine_mode innermode)
 
machine_mode wider_subreg_mode (const_rtx x)
 
poly_uint64 subreg_size_highpart_offset (poly_uint64, poly_uint64)
 
poly_uint64 subreg_highpart_offset (machine_mode outermode, machine_mode innermode)
 
poly_int64 byte_lowpart_offset (machine_mode, machine_mode)
 
poly_int64 subreg_memory_offset (machine_mode, machine_mode, poly_uint64)
 
poly_int64 subreg_memory_offset (const_rtx)
 
rtx make_safe_from (rtx, rtx)
 
rtx convert_memory_address_addr_space_1 (scalar_int_mode, rtx, addr_space_t, bool, bool)
 
rtx convert_memory_address_addr_space (scalar_int_mode, rtx, addr_space_t)
 
const char * get_insn_name (int)
 
rtx_insnget_last_insn_anywhere (void)
 
rtx_insnget_first_nonnote_insn (void)
 
rtx_insnget_last_nonnote_insn (void)
 
void start_sequence (void)
 
void push_to_sequence (rtx_insn *)
 
void push_to_sequence2 (rtx_insn *, rtx_insn *)
 
void end_sequence (void)
 
double_int rtx_to_double_int (const_rtx)
 
void cwi_output_hex (FILE *, const_rtx)
 
rtx immed_double_const (HOST_WIDE_INT, HOST_WIDE_INT, machine_mode)
 
rtx immed_wide_int_const (const poly_wide_int_ref &, machine_mode)
 
rtx force_const_mem (machine_mode, rtx)
 
rtx get_pool_constant (const_rtx)
 
rtx get_pool_constant_mark (rtx, bool *)
 
fixed_size_mode get_pool_mode (const_rtx)
 
rtx simplify_subtraction (rtx)
 
void decide_function_section (tree)
 
rtx_insnemit_insn_before (rtx, rtx_insn *)
 
rtx_insnemit_insn_before_noloc (rtx, rtx_insn *, basic_block)
 
rtx_insnemit_insn_before_setloc (rtx, rtx_insn *, location_t)
 
rtx_jump_insnemit_jump_insn_before (rtx, rtx_insn *)
 
rtx_jump_insnemit_jump_insn_before_noloc (rtx, rtx_insn *)
 
rtx_jump_insnemit_jump_insn_before_setloc (rtx, rtx_insn *, location_t)
 
rtx_insnemit_call_insn_before (rtx, rtx_insn *)
 
rtx_insnemit_call_insn_before_noloc (rtx, rtx_insn *)
 
rtx_insnemit_call_insn_before_setloc (rtx, rtx_insn *, location_t)
 
rtx_insnemit_debug_insn_before (rtx, rtx_insn *)
 
rtx_insnemit_debug_insn_before_noloc (rtx, rtx_insn *)
 
rtx_insnemit_debug_insn_before_setloc (rtx, rtx_insn *, location_t)
 
rtx_barrieremit_barrier_before (rtx_insn *)
 
rtx_code_labelemit_label_before (rtx_code_label *, rtx_insn *)
 
rtx_noteemit_note_before (enum insn_note, rtx_insn *)
 
rtx_insnemit_insn_after (rtx, rtx_insn *)
 
rtx_insnemit_insn_after_noloc (rtx, rtx_insn *, basic_block)
 
rtx_insnemit_insn_after_setloc (rtx, rtx_insn *, location_t)
 
rtx_jump_insnemit_jump_insn_after (rtx, rtx_insn *)
 
rtx_jump_insnemit_jump_insn_after_noloc (rtx, rtx_insn *)
 
rtx_jump_insnemit_jump_insn_after_setloc (rtx, rtx_insn *, location_t)
 
rtx_insnemit_call_insn_after (rtx, rtx_insn *)
 
rtx_insnemit_call_insn_after_noloc (rtx, rtx_insn *)
 
rtx_insnemit_call_insn_after_setloc (rtx, rtx_insn *, location_t)
 
rtx_insnemit_debug_insn_after (rtx, rtx_insn *)
 
rtx_insnemit_debug_insn_after_noloc (rtx, rtx_insn *)
 
rtx_insnemit_debug_insn_after_setloc (rtx, rtx_insn *, location_t)
 
rtx_barrieremit_barrier_after (rtx_insn *)
 
rtx_insnemit_label_after (rtx_insn *, rtx_insn *)
 
rtx_noteemit_note_after (enum insn_note, rtx_insn *)
 
rtx_insnemit_insn (rtx)
 
rtx_insnemit_debug_insn (rtx)
 
rtx_insnemit_jump_insn (rtx)
 
rtx_insnemit_likely_jump_insn (rtx)
 
rtx_insnemit_unlikely_jump_insn (rtx)
 
rtx_insnemit_call_insn (rtx)
 
rtx_code_labelemit_label (rtx)
 
rtx_jump_table_dataemit_jump_table_data (rtx)
 
rtx_barrieremit_barrier (void)
 
rtx_noteemit_note (enum insn_note)
 
rtx_noteemit_note_copy (rtx_note *)
 
rtx_insngen_clobber (rtx)
 
rtx_insnemit_clobber (rtx)
 
rtx_insngen_use (rtx)
 
rtx_insnemit_use (rtx)
 
rtx_insnmake_insn_raw (rtx)
 
void add_function_usage_to (rtx, rtx)
 
rtx_call_insnlast_call_insn (void)
 
rtx_insnprevious_insn (rtx_insn *)
 
rtx_insnnext_insn (rtx_insn *)
 
rtx_insnprev_nonnote_insn (rtx_insn *)
 
rtx_insnnext_nonnote_insn (rtx_insn *)
 
rtx_insnprev_nondebug_insn (rtx_insn *)
 
rtx_insnnext_nondebug_insn (rtx_insn *)
 
rtx_insnprev_nonnote_nondebug_insn (rtx_insn *)
 
rtx_insnprev_nonnote_nondebug_insn_bb (rtx_insn *)
 
rtx_insnnext_nonnote_nondebug_insn (rtx_insn *)
 
rtx_insnnext_nonnote_nondebug_insn_bb (rtx_insn *)
 
rtx_insnprev_real_insn (rtx_insn *)
 
rtx_insnnext_real_insn (rtx_insn *)
 
rtx_insnprev_real_nondebug_insn (rtx_insn *)
 
rtx_insnnext_real_nondebug_insn (rtx)
 
rtx_insnprev_active_insn (rtx_insn *)
 
rtx_insnnext_active_insn (rtx_insn *)
 
bool active_insn_p (const rtx_insn *)
 
int insn_line (const rtx_insn *)
 
const char * insn_file (const rtx_insn *)
 
tree insn_scope (const rtx_insn *)
 
expanded_location insn_location (const rtx_insn *)
 
int insn_discriminator (const rtx_insn *)
 
enum rtx_code reverse_condition (enum rtx_code)
 
enum rtx_code reverse_condition_maybe_unordered (enum rtx_code)
 
enum rtx_code swap_condition (enum rtx_code)
 
enum rtx_code unsigned_condition (enum rtx_code)
 
enum rtx_code signed_condition (enum rtx_code)
 
void mark_jump_label (rtx, rtx_insn *, int)
 
bool unsigned_condition_p (enum rtx_code code)
 
rtx_insndelete_related_insns (rtx)
 
rtxfind_constant_term_loc (rtx *)
 
rtx_insntry_split (rtx, rtx_insn *, int)
 
rtx_insnsplit_insns (rtx, rtx_insn *)
 
rtx simplify_unary_operation (rtx_code code, machine_mode mode, rtx op, machine_mode op_mode)
 
rtx simplify_binary_operation (rtx_code code, machine_mode mode, rtx op0, rtx op1)
 
rtx simplify_ternary_operation (rtx_code code, machine_mode mode, machine_mode op0_mode, rtx op0, rtx op1, rtx op2)
 
rtx simplify_relational_operation (rtx_code code, machine_mode mode, machine_mode op_mode, rtx op0, rtx op1)
 
rtx simplify_subreg (machine_mode outermode, rtx op, machine_mode innermode, poly_uint64 byte)
 
rtx simplify_gen_unary (rtx_code code, machine_mode mode, rtx op, machine_mode op_mode)
 
rtx simplify_gen_binary (rtx_code code, machine_mode mode, rtx op0, rtx op1)
 
rtx simplify_gen_ternary (rtx_code code, machine_mode mode, machine_mode op0_mode, rtx op0, rtx op1, rtx op2)
 
rtx simplify_gen_relational (rtx_code code, machine_mode mode, machine_mode op_mode, rtx op0, rtx op1)
 
rtx simplify_gen_subreg (machine_mode outermode, rtx op, machine_mode innermode, poly_uint64 byte)
 
rtx simplify_gen_vec_select (rtx op, unsigned int index)
 
rtx lowpart_subreg (machine_mode outermode, rtx op, machine_mode innermode)
 
rtx simplify_const_unary_operation (enum rtx_code, machine_mode, rtx, machine_mode)
 
rtx simplify_const_binary_operation (enum rtx_code, machine_mode, rtx, rtx)
 
rtx simplify_const_relational_operation (enum rtx_code, machine_mode, rtx, rtx)
 
rtx simplify_replace_fn_rtx (rtx, const_rtx, rtx(*fn)(rtx, const_rtx, void *), void *)
 
rtx simplify_replace_rtx (rtx, const_rtx, rtx)
 
rtx simplify_rtx (const_rtx)
 
rtx avoid_constant_pool_reference (rtx)
 
rtx delegitimize_mem_from_attrs (rtx)
 
bool mode_signbit_p (machine_mode, const_rtx)
 
bool val_signbit_p (machine_mode, unsigned HOST_WIDE_INT)
 
bool val_signbit_known_set_p (machine_mode, unsigned HOST_WIDE_INT)
 
bool val_signbit_known_clear_p (machine_mode, unsigned HOST_WIDE_INT)
 
bool reverse_rotate_by_imm_p (machine_mode, unsigned int, rtx)
 
machine_mode choose_hard_reg_mode (unsigned int, unsigned int, const predefined_function_abi *)
 
const HARD_REG_SETsimplifiable_subregs (const subreg_shape &)
 
rtx set_for_reg_notes (rtx)
 
rtx set_unique_reg_note (rtx, enum reg_note, rtx)
 
rtx set_dst_reg_note (rtx, enum reg_note, rtx, rtx)
 
void set_insn_deleted (rtx_insn *)
 
rtx single_set_2 (const rtx_insn *, const_rtx)
 
rtx simple_regno_set (rtx, unsigned int)
 
bool contains_symbol_ref_p (const_rtx)
 
bool contains_symbolic_reference_p (const_rtx)
 
bool contains_constant_pool_address_p (const_rtx)
 
void add_auto_inc_notes (rtx_insn *, rtx)
 
rtx single_set (const rtx_insn *insn)
 
scalar_int_mode get_address_mode (rtx mem)
 
bool rtx_addr_can_trap_p (const_rtx)
 
bool nonzero_address_p (const_rtx)
 
bool rtx_unstable_p (const_rtx)
 
bool rtx_varies_p (const_rtx, bool)
 
bool rtx_addr_varies_p (const_rtx, bool)
 
rtx get_call_rtx_from (const rtx_insn *)
 
tree get_call_fndecl (const rtx_insn *)
 
HOST_WIDE_INT get_integer_term (const_rtx)
 
rtx get_related_value (const_rtx)
 
bool offset_within_block_p (const_rtx, HOST_WIDE_INT)
 
void split_const (rtx, rtx *, rtx *)
 
rtx strip_offset (rtx, poly_int64 *)
 
poly_int64 get_args_size (const_rtx)
 
bool unsigned_reg_p (rtx)
 
bool reg_mentioned_p (const_rtx, const_rtx)
 
int count_occurrences (const_rtx, const_rtx, int)
 
bool reg_referenced_p (const_rtx, const_rtx)
 
bool reg_used_between_p (const_rtx, const rtx_insn *, const rtx_insn *)
 
bool reg_set_between_p (const_rtx, const rtx_insn *, const rtx_insn *)
 
int commutative_operand_precedence (rtx)
 
bool swap_commutative_operands_p (rtx, rtx)
 
bool modified_between_p (const_rtx, const rtx_insn *, const rtx_insn *)
 
bool no_labels_between_p (const rtx_insn *, const rtx_insn *)
 
bool modified_in_p (const_rtx, const_rtx)
 
bool reg_set_p (const_rtx, const_rtx)
 
bool multiple_sets (const_rtx)
 
bool set_noop_p (const_rtx)
 
bool noop_move_p (const rtx_insn *)
 
bool refers_to_regno_p (unsigned int, unsigned int, const_rtx, rtx *)
 
bool reg_overlap_mentioned_p (const_rtx, const_rtx)
 
const_rtx set_of (const_rtx, const_rtx)
 
void record_hard_reg_sets (rtx, const_rtx, void *)
 
void record_hard_reg_uses (rtx *, void *)
 
void find_all_hard_regs (const_rtx, HARD_REG_SET *)
 
void find_all_hard_reg_sets (const rtx_insn *, HARD_REG_SET *, bool)
 
void note_pattern_stores (const_rtx, void(*)(rtx, const_rtx, void *), void *)
 
void note_stores (const rtx_insn *, void(*)(rtx, const_rtx, void *), void *)
 
void note_uses (rtx *, void(*)(rtx *, void *), void *)
 
bool dead_or_set_p (const rtx_insn *, const_rtx)
 
bool dead_or_set_regno_p (const rtx_insn *, unsigned int)
 
rtx find_reg_note (const_rtx, enum reg_note, const_rtx)
 
rtx find_regno_note (const_rtx, enum reg_note, unsigned int)
 
rtx find_reg_equal_equiv_note (const_rtx)
 
rtx find_constant_src (const rtx_insn *)
 
bool find_reg_fusage (const_rtx, enum rtx_code, const_rtx)
 
bool find_regno_fusage (const_rtx, enum rtx_code, unsigned int)
 
rtx alloc_reg_note (enum reg_note, rtx, rtx)
 
void add_reg_note (rtx, enum reg_note, rtx)
 
void add_int_reg_note (rtx_insn *, enum reg_note, int)
 
void add_args_size_note (rtx_insn *, poly_int64)
 
void add_shallow_copy_of_reg_note (rtx_insn *, rtx)
 
rtx duplicate_reg_note (rtx)
 
void remove_note (rtx_insn *, const_rtx)
 
bool remove_reg_equal_equiv_notes (rtx_insn *, bool=false)
 
void remove_reg_equal_equiv_notes_for_regno (unsigned int)
 
bool side_effects_p (const_rtx)
 
bool volatile_refs_p (const_rtx)
 
bool volatile_insn_p (const_rtx)
 
bool may_trap_p_1 (const_rtx, unsigned)
 
bool may_trap_p (const_rtx)
 
bool may_trap_or_fault_p (const_rtx)
 
bool can_throw_internal (const_rtx)
 
bool can_throw_external (const_rtx)
 
bool insn_could_throw_p (const_rtx)
 
bool insn_nothrow_p (const_rtx)
 
bool can_nonlocal_goto (const rtx_insn *)
 
void copy_reg_eh_region_note_forward (rtx, rtx_insn *, rtx)
 
void copy_reg_eh_region_note_backward (rtx, rtx_insn *, rtx)
 
rtx replace_rtx (rtx, rtx, rtx, bool=false)
 
void replace_label (rtx *, rtx, rtx, bool)
 
void replace_label_in_insn (rtx_insn *, rtx_insn *, rtx_insn *, bool)
 
bool rtx_referenced_p (const_rtx, const_rtx)
 
bool tablejump_p (const rtx_insn *, rtx_insn **, rtx_jump_table_data **)
 
rtx tablejump_casesi_pattern (const rtx_insn *insn)
 
bool computed_jump_p (const rtx_insn *)
 
bool tls_referenced_p (const_rtx)
 
bool contains_mem_rtx_p (rtx x)
 
bool register_asm_p (const_rtx)
 
bool refers_to_regno_p (unsigned int regnum, const_rtx x, rtx *loc=NULL)
 
int for_each_inc_dec (rtx, for_each_inc_dec_fn, void *arg)
 
rtx regno_use_in (unsigned int, rtx)
 
bool auto_inc_p (const_rtx)
 
bool in_insn_list_p (const rtx_insn_list *, const rtx_insn *)
 
void remove_node_from_insn_list (const rtx_insn *, rtx_insn_list **)
 
bool loc_mentioned_in_p (rtx *, const_rtx)
 
rtx_insnfind_first_parameter_load (rtx_insn *, rtx_insn *)
 
bool keep_with_call_p (const rtx_insn *)
 
bool label_is_jump_target_p (const_rtx, const rtx_insn *)
 
int pattern_cost (rtx, bool)
 
int insn_cost (rtx_insn *, bool)
 
unsigned seq_cost (const rtx_insn *, bool)
 
rtx canonicalize_condition (rtx_insn *, rtx, int, rtx_insn **, rtx, int, int)
 
rtx get_condition (rtx_insn *, rtx_insn **, int, int)
 
void subreg_get_info (unsigned int, machine_mode, poly_uint64, machine_mode, struct subreg_info *)
 
void free_EXPR_LIST_list (rtx_expr_list **)
 
void free_INSN_LIST_list (rtx_insn_list **)
 
void free_EXPR_LIST_node (rtx)
 
void free_INSN_LIST_node (rtx)
 
rtx_insn_listalloc_INSN_LIST (rtx, rtx)
 
rtx_insn_listcopy_INSN_LIST (rtx_insn_list *)
 
rtx_insn_listconcat_INSN_LIST (rtx_insn_list *, rtx_insn_list *)
 
rtx_expr_listalloc_EXPR_LIST (int, rtx, rtx)
 
void remove_free_INSN_LIST_elem (rtx_insn *, rtx_insn_list **)
 
rtx remove_list_elem (rtx, rtx *)
 
rtx_insnremove_free_INSN_LIST_node (rtx_insn_list **)
 
rtx remove_free_EXPR_LIST_node (rtx_expr_list **)
 
bool resize_reg_info (void)
 
void free_reg_info (void)
 
void init_subregs_of_mode (void)
 
void finish_subregs_of_mode (void)
 
void reginfo_cc_finalize (void)
 
rtx extract_asm_operands (rtx)
 
int asm_noperands (const_rtx)
 
const char * decode_asm_operands (rtx, rtx *, rtx **, const char **, machine_mode *, location_t *)
 
void get_referenced_operands (const char *, bool *, unsigned int)
 
enum reg_class reg_preferred_class (int)
 
enum reg_class reg_alternate_class (int)
 
enum reg_class reg_allocno_class (int)
 
void setup_reg_classes (int, enum reg_class, enum reg_class, enum reg_class)
 
void split_all_insns (void)
 
void split_all_insns_noflow (void)
 
const class mem_attrsget_mem_attrs (const_rtx x)
 
rtx_expr_listgen_rtx_EXPR_LIST (machine_mode, rtx, rtx)
 
rtx_insn_listgen_rtx_INSN_LIST (machine_mode, rtx, rtx)
 
rtx_insngen_rtx_INSN (machine_mode mode, rtx_insn *prev_insn, rtx_insn *next_insn, basic_block bb, rtx pattern, int location, int code, rtx reg_notes)
 
rtx gen_rtx_CONST_INT (machine_mode, HOST_WIDE_INT)
 
rtx gen_rtx_CONST_VECTOR (machine_mode, rtvec)
 
void set_mode_and_regno (rtx, machine_mode, unsigned int)
 
rtx init_raw_REG (rtx, machine_mode, unsigned int)
 
rtx gen_raw_REG (machine_mode, unsigned int)
 
rtx gen_rtx_REG (machine_mode, unsigned int)
 
rtx gen_rtx_SUBREG (machine_mode, rtx, poly_uint64)
 
rtx gen_rtx_MEM (machine_mode, rtx)
 
rtx gen_rtx_VAR_LOCATION (machine_mode, tree, rtx, enum var_init_status)
 
void PUT_MODE (rtx x, machine_mode mode)
 
rtx output_constant_def (tree, int)
 
rtx lookup_constant_def (tree)
 
int rtx_to_tree_code (enum rtx_code)
 
int delete_trivially_dead_insns (rtx_insn *, int)
 
bool exp_equiv_p (const_rtx, const_rtx, int, bool)
 
unsigned hash_rtx (const_rtx, machine_mode, int *, int *, bool, hash_rtx_callback_function=NULL)
 
bool check_for_inc_dec (rtx_insn *insn)
 
bool comparison_dominates_p (enum rtx_code, enum rtx_code)
 
bool jump_to_label_p (const rtx_insn *)
 
bool condjump_p (const rtx_insn *)
 
bool any_condjump_p (const rtx_insn *)
 
bool any_uncondjump_p (const rtx_insn *)
 
rtx pc_set (const rtx_insn *)
 
rtx condjump_label (const rtx_insn *)
 
bool simplejump_p (const rtx_insn *)
 
bool returnjump_p (const rtx_insn *)
 
bool eh_returnjump_p (rtx_insn *)
 
bool onlyjump_p (const rtx_insn *)
 
bool invert_jump_1 (rtx_jump_insn *, rtx)
 
bool invert_jump (rtx_jump_insn *, rtx, int)
 
bool rtx_renumbered_equal_p (const_rtx, const_rtx)
 
int true_regnum (const_rtx)
 
unsigned int reg_or_subregno (const_rtx)
 
bool redirect_jump_1 (rtx_insn *, rtx)
 
void redirect_jump_2 (rtx_jump_insn *, rtx, rtx, int, int)
 
bool redirect_jump (rtx_jump_insn *, rtx, int)
 
void rebuild_jump_labels (rtx_insn *)
 
void rebuild_jump_labels_chain (rtx_insn *)
 
rtx reversed_comparison (const_rtx, machine_mode)
 
enum rtx_code reversed_comparison_code (const_rtx, const rtx_insn *)
 
enum rtx_code reversed_comparison_code_parts (enum rtx_code, const_rtx, const_rtx, const rtx_insn *)
 
void delete_for_peephole (rtx_insn *, rtx_insn *)
 
bool condjump_in_parallel_p (const rtx_insn *)
 
int max_reg_num (void)
 
int max_label_num (void)
 
int get_first_label_num (void)
 
void maybe_set_first_label_num (rtx_code_label *)
 
void delete_insns_since (rtx_insn *)
 
void mark_reg_pointer (rtx, int)
 
void mark_user_reg (rtx)
 
void reset_used_flags (rtx)
 
void set_used_flags (rtx)
 
void reorder_insns (rtx_insn *, rtx_insn *, rtx_insn *)
 
void reorder_insns_nobb (rtx_insn *, rtx_insn *, rtx_insn *)
 
int get_max_insn_count (void)
 
bool in_sequence_p (void)
 
void init_emit (void)
 
void init_emit_regs (void)
 
void init_derived_machine_modes (void)
 
void init_emit_once (void)
 
void push_topmost_sequence (void)
 
void pop_topmost_sequence (void)
 
void set_new_first_and_last_insn (rtx_insn *, rtx_insn *)
 
void unshare_all_rtl (void)
 
void unshare_all_rtl_again (rtx_insn *)
 
void unshare_all_rtl_in_chain (rtx_insn *)
 
void verify_rtl_sharing (void)
 
void add_insn (rtx_insn *)
 
void add_insn_before (rtx_insn *, rtx_insn *, basic_block)
 
void add_insn_after (rtx_insn *, rtx_insn *, basic_block)
 
void remove_insn (rtx_insn *)
 
rtx_insnemit (rtx, bool=true)
 
void emit_insn_at_entry (rtx)
 
rtx gen_lowpart_SUBREG (machine_mode, rtx)
 
rtx gen_const_mem (machine_mode, rtx)
 
rtx gen_frame_mem (machine_mode, rtx)
 
rtx gen_tmp_stack_mem (machine_mode, rtx)
 
bool validate_subreg (machine_mode, machine_mode, const_rtx, poly_uint64)
 
unsigned int extended_count (const_rtx, machine_mode, bool)
 
rtx remove_death (unsigned int, rtx_insn *)
 
rtx make_compound_operation (rtx, enum rtx_code)
 
void schedule_insns (void)
 
void schedule_ebbs (void)
 
void sel_sched_fix_param (const char *param, const char *val)
 
void debug (const rtx_def &ref)
 
void debug (const rtx_def *ptr)
 
void debug_rtx (const_rtx)
 
void debug_rtx_list (const rtx_insn *, int)
 
void debug_rtx_range (const rtx_insn *, const rtx_insn *)
 
const rtx_insndebug_rtx_find (const rtx_insn *, int)
 
void print_mem_expr (FILE *, const_tree)
 
void print_rtl (FILE *, const_rtx)
 
void print_simple_rtl (FILE *, const_rtx)
 
void print_rtl_single (FILE *, const_rtx)
 
void print_rtl_single_with_indent (FILE *, const_rtx, int)
 
void print_inline_rtx (FILE *, const_rtx, int)
 
void expand_null_return (void)
 
void expand_naked_return (void)
 
void emit_jump (rtx)
 
rtx move_by_pieces (rtx, rtx, unsigned HOST_WIDE_INT, unsigned int, memop_ret)
 
poly_int64 find_args_size_adjust (rtx_insn *)
 
poly_int64 fixup_args_size_notes (rtx_insn *, rtx_insn *, poly_int64)
 
void init_expmed (void)
 
void expand_inc (rtx, rtx)
 
void expand_dec (rtx, rtx)
 
void init_lower_subreg (void)
 
bool can_copy_p (machine_mode)
 
bool can_assign_to_reg_without_clobbers_p (rtx, machine_mode)
 
rtx_insnprepare_copy_insn (rtx, rtx)
 
rtx fis_get_condition (rtx_insn *)
 
void mark_elimination (int, int)
 
bool reg_classes_intersect_p (reg_class_t, reg_class_t)
 
bool reg_class_subset_p (reg_class_t, reg_class_t)
 
void globalize_reg (tree, int)
 
void init_reg_modes_target (void)
 
void init_regs (void)
 
void reinit_regs (void)
 
void init_fake_stack_mems (void)
 
void save_register_info (void)
 
void init_reg_sets (void)
 
void regclass (rtx, int)
 
void reg_scan (rtx_insn *, unsigned int)
 
void fix_register (const char *, int, int)
 
const HARD_REG_SETvalid_mode_changes_for_regno (unsigned int)
 
bool function_invariant_p (const_rtx)
 
rtx emit_library_call_value_1 (int, rtx, rtx, enum libcall_type, machine_mode, int, rtx_mode_t *)
 
void emit_library_call (rtx fun, libcall_type fn_type, machine_mode outmode)
 
void emit_library_call (rtx fun, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode)
 
void emit_library_call (rtx fun, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode, rtx arg2, machine_mode arg2_mode)
 
void emit_library_call (rtx fun, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode, rtx arg2, machine_mode arg2_mode, rtx arg3, machine_mode arg3_mode)
 
void emit_library_call (rtx fun, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode, rtx arg2, machine_mode arg2_mode, rtx arg3, machine_mode arg3_mode, rtx arg4, machine_mode arg4_mode)
 
rtx emit_library_call_value (rtx fun, rtx value, libcall_type fn_type, machine_mode outmode)
 
rtx emit_library_call_value (rtx fun, rtx value, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode)
 
rtx emit_library_call_value (rtx fun, rtx value, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode, rtx arg2, machine_mode arg2_mode)
 
rtx emit_library_call_value (rtx fun, rtx value, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode, rtx arg2, machine_mode arg2_mode, rtx arg3, machine_mode arg3_mode)
 
rtx emit_library_call_value (rtx fun, rtx value, libcall_type fn_type, machine_mode outmode, rtx arg1, machine_mode arg1_mode, rtx arg2, machine_mode arg2_mode, rtx arg3, machine_mode arg3_mode, rtx arg4, machine_mode arg4_mode)
 
void init_varasm_once (void)
 
rtx make_debug_expr_from_rtl (const_rtx)
 
rtx canon_rtx (rtx)
 
rtx get_addr (rtx)
 
bool read_dependence (const_rtx, const_rtx)
 
bool true_dependence (const_rtx, machine_mode, const_rtx)
 
bool canon_true_dependence (const_rtx, machine_mode, rtx, const_rtx, rtx)
 
bool anti_dependence (const_rtx, const_rtx)
 
bool canon_anti_dependence (const_rtx, bool, const_rtx, machine_mode, rtx)
 
bool output_dependence (const_rtx, const_rtx)
 
bool canon_output_dependence (const_rtx, bool, const_rtx, machine_mode, rtx)
 
bool may_alias_p (const_rtx, const_rtx)
 
void init_alias_target (void)
 
void init_alias_analysis (void)
 
void end_alias_analysis (void)
 
void vt_equate_reg_base_value (const_rtx, const_rtx)
 
bool memory_modified_in_insn_p (const_rtx, const_rtx)
 
bool may_be_sp_based_p (rtx)
 
rtx gen_hard_reg_clobber (machine_mode, unsigned int)
 
rtx get_reg_known_value (unsigned int)
 
bool get_reg_known_equiv_p (unsigned int)
 
rtx get_reg_base_value (unsigned int)
 
rtx extract_mem_from_operand (rtx)
 
unsigned int variable_tracking_main (void)
 
void delete_vta_debug_insns (bool)
 
void get_mode_bounds (scalar_int_mode, int, scalar_int_mode, rtx *, rtx *)
 
rtx canon_condition (rtx)
 
void simplify_using_condition (rtx, rtx *, bitmap)
 
void compute_alignments (void)
 
void update_alignments (vec< rtx > &)
 
int asm_str_count (const char *templ)
 
void insn_locations_init (void)
 
void insn_locations_finalize (void)
 
void set_curr_insn_location (location_t)
 
location_t curr_insn_location (void)
 
void set_insn_locations (rtx_insn *, location_t)
 
void _fatal_insn_not_found (const_rtx, const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_COLD
 
void _fatal_insn (const char *, const_rtx, const char *, int, const char *) ATTRIBUTE_NORETURN ATTRIBUTE_COLD
 
rtx_code load_extend_op (machine_mode mode)
 
rtx strip_offset_and_add (rtx x, poly_int64 *offset)
 
bool word_register_operation_p (const_rtx x)
 
void gt_ggc_mx (rtx &)
 
void gt_pch_nx (rtx &)
 
void gt_pch_nx (rtx &, gt_pointer_operator, void *)
 

Variables

const unsigned char rtx_length [NUM_RTX_CODE]
 
const char *const rtx_name [NUM_RTX_CODE]
 
const char *const rtx_format [NUM_RTX_CODE]
 
enum rtx_class rtx_class [NUM_RTX_CODE]
 
const unsigned char rtx_code_size [NUM_RTX_CODE]
 
const unsigned char rtx_next [NUM_RTX_CODE]
 
const char *const reg_note_name []
 
const char *const note_insn_name [NOTE_INSN_MAX]
 
const int SRP_POINTER = -1
 
const int SRP_SIGNED = 0
 
const int SRP_UNSIGNED = 1
 
const int SRP_SIGNED_AND_UNSIGNED = 2
 
int generating_concat_p
 
int currently_expanding_to_rtl
 
location_t prologue_location
 
location_t epilogue_location
 
rtx const_int_rtx [MAX_SAVED_CONST_INT *2+1]
 
rtx const_true_rtx
 
rtx const_tiny_rtx [4][(int) MAX_MACHINE_MODE]
 
rtx pc_rtx
 
rtx ret_rtx
 
rtx simple_return_rtx
 
rtx_insninvalid_insn_rtx
 
struct target_rtl default_target_rtl
 
int reload_completed
 
int epilogue_completed
 
int reload_in_progress
 
bool ira_in_progress
 
bool lra_in_progress
 
int cse_not_expected
 
const char * print_rtx_head
 
HARD_REG_SET eliminable_regset
 
rtx stack_limit_rtx
 
struct rtl_hooks rtl_hooks
 
const struct rtl_hooks general_rtl_hooks
 
tree global_regs_decl [FIRST_PSEUDO_REGISTER]
 

Macro Definition Documentation

◆ ADDR_DIFF_VEC_FLAGS

#define ADDR_DIFF_VEC_FLAGS ( RTX)    X0ADVFLAGS (RTX, 4)
In an ADDR_DIFF_VEC, the flags for RTX for use by branch shortening.
See the comments for ADDR_DIFF_VEC in rtl.def.   

Referenced by shorten_branches().

◆ alloca_raw_REG

#define alloca_raw_REG ( mode,
regno )    init_raw_REG (rtx_alloca (REG), (mode), (regno))

◆ ANY_RETURN_P

◆ arg_pointer_rtx

◆ ARITHMETIC_P

#define ARITHMETIC_P ( X)
Value:
#define GET_RTX_CLASS(CODE)
Definition rtl.h:118
#define RTX_ARITHMETIC_MASK
Definition rtl.h:100
#define RTX_ARITHMETIC_RESULT
Definition rtl.h:101
#define GET_CODE(RTX)
Definition rtl.h:725
1 if X is an arithmetic operator.   

Referenced by distribute_and_simplify_rtx(), force_operand(), get_last_value_validate(), noce_can_force_operand(), nonzero_bits_binary_arith_p(), num_sign_bit_copies_binary_arith_p(), record_value_for_reg(), and update_table_tick().

◆ ASM_INPUT_SOURCE_LOCATION

#define ASM_INPUT_SOURCE_LOCATION ( RTX)    XCUINT (RTX, 1, ASM_INPUT)

◆ ASM_OPERANDS_INPUT

◆ ASM_OPERANDS_INPUT_CONSTRAINT

#define ASM_OPERANDS_INPUT_CONSTRAINT ( RTX,
N )    XSTR (XCVECEXP (RTX, 4, N, ASM_OPERANDS), 0)

◆ ASM_OPERANDS_INPUT_CONSTRAINT_EXP

#define ASM_OPERANDS_INPUT_CONSTRAINT_EXP ( RTX,
N )    XCVECEXP (RTX, 4, N, ASM_OPERANDS)

Referenced by expand_asm_stmt().

◆ ASM_OPERANDS_INPUT_CONSTRAINT_VEC

#define ASM_OPERANDS_INPUT_CONSTRAINT_VEC ( RTX)    XCVEC (RTX, 4, ASM_OPERANDS)

◆ ASM_OPERANDS_INPUT_LENGTH

◆ ASM_OPERANDS_INPUT_MODE

#define ASM_OPERANDS_INPUT_MODE ( RTX,
N )    GET_MODE (XCVECEXP (RTX, 4, N, ASM_OPERANDS))

Referenced by decode_asm_operands().

◆ ASM_OPERANDS_INPUT_VEC

#define ASM_OPERANDS_INPUT_VEC ( RTX)    XCVEC (RTX, 3, ASM_OPERANDS)

◆ ASM_OPERANDS_LABEL

◆ ASM_OPERANDS_LABEL_LENGTH

◆ ASM_OPERANDS_LABEL_VEC

#define ASM_OPERANDS_LABEL_VEC ( RTX)    XCVEC (RTX, 5, ASM_OPERANDS)

◆ ASM_OPERANDS_OUTPUT_CONSTRAINT

#define ASM_OPERANDS_OUTPUT_CONSTRAINT ( RTX)    XCSTR (RTX, 1, ASM_OPERANDS)

◆ ASM_OPERANDS_OUTPUT_IDX

#define ASM_OPERANDS_OUTPUT_IDX ( RTX)    XCINT (RTX, 2, ASM_OPERANDS)

◆ ASM_OPERANDS_SOURCE_LOCATION

#define ASM_OPERANDS_SOURCE_LOCATION ( RTX)    XCUINT (RTX, 6, ASM_OPERANDS)

◆ ASM_OPERANDS_TEMPLATE

#define ASM_OPERANDS_TEMPLATE ( RTX)    XCSTR (RTX, 0, ASM_OPERANDS)
Access various components of an ASM_OPERANDS rtx.   

Referenced by decode_asm_operands(), exp_equiv_p(), expand_asm_stmt(), hash_rtx(), and instantiate_virtual_regs_in_insn().

◆ AUTO_INC_DEC

◆ BARRIER_P

◆ BINARY_P

◆ BLOCK_SYMBOL_CHECK

#define BLOCK_SYMBOL_CHECK ( RTX)    (&(RTX)->u.block_sym)

◆ CALL_INSN_FUNCTION_USAGE

#define CALL_INSN_FUNCTION_USAGE ( INSN)    XEXP(INSN, 7)
This field is only present on CALL_INSNs.  It holds a chain of EXPR_LIST of
USE, CLOBBER and SET expressions.
  USE expressions list the registers filled with arguments that
are passed to the function.
  CLOBBER expressions document the registers explicitly clobbered
by this CALL_INSN.
  SET expressions say that the return value of the call (the SET_DEST)
is equivalent to a value available before the call (the SET_SRC).
This kind of SET is used when the return value is predictable in
advance.  It is purely an optimisation hint; unlike USEs and CLOBBERs,
it does not affect register liveness.

  Pseudo registers cannot be mentioned in this list.   

Referenced by add_function_usage_to(), build_def_use(), canonicalize_insn(), copyprop_hardreg_forward_1(), count_reg_usage(), cse_insn(), cselib_process_insn(), delete_output_reload(), df_get_call_refs(), emit_call_1(), emit_copy_of_insn_after(), find_call_crossed_cheap_reg(), find_call_stack_args(), find_equiv_reg(), find_first_parameter_load(), find_reg_fusage(), find_regno_fusage(), get_call_args(), insert_one_insn(), instantiate_virtual_regs(), invalidate_from_sets_and_clobbers(), lra_set_insn_recog_data(), lra_update_insn_regno_info(), make_call_insn_raw(), mark_referenced_resources(), mark_set_resources(), note_stores(), old_insns_match_p(), peep2_attempt(), prepare_call_arguments(), reload(), reload_combine(), reset_insn_used_flags(), scan_insn(), spill_pseudos(), try_combine(), try_split(), rtx_properties::try_to_add_insn(), unshare_all_rtl_again(), unshare_all_rtl_in_chain(), and verify_insn_sharing().

◆ CALL_P

#define CALL_P ( X)    (GET_CODE (X) == CALL_INSN)
Predicate yielding nonzero iff X is a call insn.   

Referenced by active_insn_p(), add_function_usage_to(), add_with_sets(), asan_clear_shadow(), block_jumps_and_fallthru(), build_def_use(), calculate_gen_cands(), call_from_call_insn(), can_combine_p(), can_delete_call(), can_move_insns_across(), can_nonlocal_goto(), canonicalize_insn(), cheap_bb_rtx_cost_p(), collect_fn_hard_reg_usage(), combine_reload_insn(), combine_stack_adjustments_for_block(), compute_hash_table_work(), cond_exec_process_insns(), contains_call_div_mod(), copyprop_hardreg_forward_1(), create_trace_edges(), cse_insn(), cselib_process_insn(), curr_insn_transform(), dead_or_set_regno_p(), decrease_live_ranges_number(), default_invalid_within_doloop(), deletable_insn_p(), delete_output_reload(), delete_prior_computation(), df_insn_refs_collect(), df_note_bb_compute(), df_scan_start_dump(), df_update_entry_exit_and_calls(), distribute_links(), distribute_notes(), do_remat(), emit_libcall_block_1(), emit_library_call_value_1(), expand_builtin_apply(), expand_builtin_longjmp(), expand_builtin_nonlocal_goto(), expand_call(), expand_call_stmt(), expand_doubleword_divmod(), expand_doubleword_mod(), expand_function_end(), expand_gimple_tailcall(), fill_simple_delay_slots(), final_scan_insn_1(), find_active_insn_after(), find_active_insn_before(), find_all_hard_reg_sets(), find_args_size_adjust(), find_call_stack_args(), find_equiv_reg(), find_exits(), find_first_parameter_load(), find_invariants_bb(), find_reg_fusage(), find_regno_fusage(), find_reloads(), finish_eh_generation(), fixup_abnormal_edges(), fixup_args_size_notes(), force_move_args_size_note(), if_test_bypass_p(), inherit_in_ebb(), insert_insn_end_basic_block(), insert_one_insn(), insert_prologue_epilogue_for_components(), insn_callee_abi(), insn_could_throw_p(), instantiate_virtual_regs(), invalidate_from_sets_and_clobbers(), last_call_insn(), leaf_function_p(), load_killed_in_block_p(), load_killed_in_block_p(), load_modified_by_store_p(), lra_set_insn_recog_data(), lra_update_insn_regno_info(), mark_insn(), mark_target_live_regs(), mark_transaction_restart_calls(), memory_modified_in_insn_p(), memref_used_between_p(), merge_if_block(), need_fake_edge_p(), next_insn_no_annul(), no_conflict_move_test(), note_stores(), old_insns_match_p(), operand_to_remat(), outgoing_edges_match(), peep2_attempt(), rtx_writer::print_rtx_operand_code_e(), process_bb_lives(), process_bb_node_lives(), prune_expressions(), purge_dead_edges(), function_reader::read_rtx_operand(), record_dead_and_set_regs(), record_last_mem_set_info_common(), record_opr_changes(), record_out_operands(), redundant_insn(), reg_set_p(), reg_used_between_p(), regstat_bb_compute_calls_crossed(), regstat_bb_compute_ri(), reload(), reload_as_needed(), reload_combine(), reload_cse_move2add_invalidate(), reload_cse_simplify(), requires_stack_frame_p(), reset_insn_used_flags(), rest_of_clean_state(), rtl_block_ends_with_call_p(), rtl_flow_call_edges_add(), rtl_make_eh_edge(), rtl_verify_edges(), scan_insn(), set_bb_regs(), set_nothrow_function_flags(), setup_save_areas(), simplify_using_initial_values(), sjlj_mark_call_sites(), spill_pseudos(), split_live_ranges_for_shrink_wrap(), store_killed_in_insn(), is_a_helper< T >::test(), is_a_helper< T >::test(), thread_prologue_and_epilogue_insns(), try_combine(), try_split(), rtx_properties::try_to_add_insn(), unshare_all_rtl_again(), unshare_all_rtl_in_chain(), update_equiv_regs_prescan(), validate_equiv_mem(), verify_insn_sharing(), and vt_initialize().

◆ can_create_pseudo_p

#define can_create_pseudo_p ( )    (!reload_in_progress && !reload_completed)
This macro indicates whether you may create a new
pseudo-register.   

Referenced by canonicalize_comparison(), emit_conditional_move(), gen_reg_rtx(), and prepare_cmp_insn().

◆ CASE_CONST_ANY

◆ CASE_CONST_SCALAR_INT

#define CASE_CONST_SCALAR_INT
Value:
case CONST_INT: \
case CONST_DOUBLE
Match CONST_*s that can represent compile-time constant integers.   

Referenced by convert_memory_address_addr_space_1(), plus_constant(), and simplify_context::simplify_plus_minus().

◆ CASE_CONST_UNIQUE

#define CASE_CONST_UNIQUE
Value:
case CONST_INT: \
case CONST_DOUBLE: \
case CONST_FIXED
Match CONST_*s for which pointer equality corresponds to value
equality.   

Referenced by exp_equiv_p(), operands_match_p(), operands_match_p(), rtvec_all_equal_p(), rtx_equal_for_cselib_1(), rtx_equal_for_memref_p(), rtx_equal_p(), rtx_renumbered_equal_p(), and uses_rtx_reuse_p().

◆ CODE_LABEL_NUMBER

#define CODE_LABEL_NUMBER ( INSN)    XINT (INSN, 5)

◆ COMMUTATIVE_ARITH_P

◆ COMMUTATIVE_P

#define COMMUTATIVE_P ( X)
Value:
#define RTX_COMMUTATIVE_RESULT
Definition rtl.h:105
#define RTX_COMMUTATIVE_MASK
Definition rtl.h:104
1 if X is a commutative operator on integers.   

Referenced by canonicalize_change_group(), hook_bool_const_rtx_commutative_p(), and rtx_equal_for_memref_p().

◆ COMPARISON_P

◆ COND_EXEC_CODE

◆ COND_EXEC_TEST

#define COND_EXEC_TEST ( RTX)    XCEXP (RTX, 0, COND_EXEC)
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.   

Referenced by insn_propagation::apply_to_pattern_1(), cond_exec_process_insns(), cselib_record_sets(), final_scan_insn_1(), note_uses(), print_pattern(), reg_referenced_p(), and rtx_properties::try_to_add_pattern().

◆ CONST0_RTX

◆ const0_rtx

#define const0_rtx   (const_int_rtx[MAX_SAVED_CONST_INT])

Referenced by addr_for_mem_ref(), adjust_stack(), allocate_dynamic_stack_space(), analyze_iv_to_split_insn(), anti_adjust_stack(), anti_adjust_stack_and_probe(), asan_clear_shadow(), asan_emit_stack_protection(), assemble_zeros(), assign_parm_find_entry_rtl(), assign_parm_find_stack_rtl(), assign_parms(), autoinc_split(), base_to_reg(), bb_estimate_probability_locally(), find_comparison_dom_walker::before_dom_children(), biv_p(), bswap_loc_descriptor(), builtin_strncpy_read_str(), can_assign_to_reg_without_clobbers_p(), can_compare_p(), canonicalize_iv_subregs(), ceil_sdiv_adjust(), ceil_udiv_adjust(), choose_reload_regs(), clear_storage_hints(), clz_loc_descriptor(), combine_simplify_rtx(), compare_by_pieces(), comparison_result(), convert_mode_scalar(), cselib_record_sets(), cselib_subst_to_values(), decompose(), default_expand_builtin_saveregs(), do_compare_rtx_and_jump(), do_jump_by_parts_equality_rtx(), do_jump_by_parts_greater_rtx(), do_jump_by_parts_zero_rtx(), do_store_flag(), doloop_condition_get(), doloop_modify(), dump_iv_info(), dw2_asm_output_encoded_addr_rtx(), dw2_asm_output_nstring(), dw2_assemble_integer(), eliminate_constant_term(), eliminate_implied_condition(), eliminate_regs_1(), emit_block_cmp_hints(), emit_block_cmp_via_loop(), emit_block_move_via_loop(), emit_call_1(), emit_case_dispatch_table(), emit_conditional_add(), emit_conditional_move(), emit_libcall_block_1(), emit_stack_probe(), emit_store_flag(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), expand_addsub_overflow(), expand_arith_overflow(), expand_assignment(), expand_atomic_compare_and_swap(), expand_atomic_fetch_op(), expand_atomic_fetch_op_no_fallback(), expand_atomic_load(), expand_atomic_store(), expand_atomic_test_and_set(), expand_binop(), expand_builtin(), expand_builtin_apply(), expand_builtin_assume_aligned(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_clear(), expand_builtin_atomic_compare_exchange(), expand_builtin_bzero(), expand_builtin_compare_and_swap(), expand_builtin_eh_copy_values(), expand_BUILTIN_EXPECT(), expand_builtin_expect(), expand_builtin_expect_with_probability(), expand_builtin_frame_address(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_init_descriptor(), expand_builtin_init_trampoline(), expand_builtin_int_roundingfn_2(), expand_builtin_issignaling(), expand_builtin_longjmp(), expand_builtin_mathfn_3(), expand_builtin_mathfn_ternary(), expand_builtin_memory_chk(), expand_builtin_memory_copy_args(), expand_builtin_memset_args(), expand_builtin_nonlocal_goto(), expand_builtin_object_size(), expand_builtin_prefetch(), expand_builtin_sincos(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_strub_enter(), expand_builtin_strub_leave(), expand_builtin_strub_update(), expand_builtin_sync_lock_release(), expand_builtin_thread_pointer(), expand_builtin_va_copy(), expand_builtin_va_end(), expand_builtin_va_start(), expand_call(), expand_call_stmt(), expand_ccmp_expr(), expand_compare_and_swap_loop(), expand_cond_expr_using_cmove(), expand_copysign_absneg(), expand_debug_expr(), expand_divmod(), expand_doubleword_clz_ctz_ffs(), expand_doubleword_shift(), expand_eh_return(), expand_expr_real(), expand_expr_real_1(), expand_expr_real_2(), expand_float(), expand_gimple_basic_block(), expand_GOACC_DIM_POS(), expand_ifn_atomic_bit_test_and(), expand_ifn_atomic_op_fetch_cmp_0(), expand_movstr(), expand_mul_overflow(), expand_neg_overflow(), expand_one_error_var(), expand_POPCOUNT(), expand_return(), expand_sdiv_pow2(), expand_shift_1(), expand_single_bit_test(), expand_smod_pow2(), expand_speculation_safe_value(), expand_subword_shift(), expand_UNIQUE(), expand_vec_perm_const(), expand_vector_ubsan_overflow(), extract_integral_bit_field(), rtx_vector_builder::find_cached_value(), find_comparison_args(), find_dummy_reload(), find_flags_uses_in_insn(), find_moveable_pseudos(), find_reloads(), find_split_point(), compare_by_pieces_d::finish_mode(), floor_sdiv_adjust(), fold_rtx(), force_int_to_mode(), force_move_args_size_note(), force_to_mode(), gen_addr_rtx(), gen_lowpart_for_combine(), gen_vec_series(), compare_by_pieces_d::generate(), get_biv_step(), get_biv_step_1(), get_iv_value(), get_last_value_validate(), get_stored_val(), if_then_else_cond(), implies_p(), init_emit_once(), init_expmed(), init_lower_subreg(), inline_expand_builtin_bytecmp(), internal_arg_pointer_based_exp(), is_parallel_of_n_reg_sets(), iv_add(), iv_constant(), iv_extend(), iv_number_of_iterations(), iv_subreg(), known_cond(), lra_asm_insn_error(), lra_substitute_pseudo(), make_compound_operation(), make_extraction(), make_field_assignment(), make_reg_eh_region_note(), may_trap_p_1(), maybe_emit_op(), maybe_legitimize_operand(), maybe_optimize_fetch_op(), memory_address_addr_space(), memrefs_conflict_p(), move2add_note_store(), move2add_use_add2_insn(), move2add_use_add3_insn(), noce_bbs_ok_for_cond_zero_arith(), noce_emit_cmove(), noce_emit_czero(), noce_try_bitop(), noce_try_sign_mask(), noce_try_store_flag(), noce_try_store_flag_mask(), operand_subword(), output_ttype(), plus_constant(), popcount_loc_descriptor(), prepare_call_address(), prepare_cmp_insn(), prepare_float_lib_cmp(), print_pattern(), probe_stack_range(), profile_function(), push_reload(), recog_for_combine_1(), record_store(), record_value_for_reg(), relational_result(), reload_combine_note_use(), reload_combine_recognize_pattern(), reload_cse_move2add(), reload_reg_free_for_value_p(), round_sdiv_adjust(), round_udiv_adjust(), rtl_flow_call_edges_add(), rtl_for_decl_location(), scratch_equal(), set_noop_p(), setup_incoming_promotions(), shorten_into_mode(), simplify_and_const_int_1(), simplify_context::simplify_binary_operation_1(), simplify_context::simplify_binary_operation_series(), simplify_comparison(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_if_then_else(), simplify_context::simplify_relational_operation(), simplify_context::simplify_relational_operation_1(), simplify_set(), simplify_shift_const_1(), simplify_context::simplify_ternary_operation(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), simplify_using_initial_values(), simplify_while_replacing(), sjlj_emit_function_enter(), split_const(), split_double(), stack_protect_epilogue(), stack_protect_prologue(), store_expr(), store_field(), store_split_bit_field(), store_unaligned_arguments_into_pseudos(), string_cst_read_str(), strip_offset(), subst(), try_combine(), try_merge_compare(), and unroll_loop_runtime_iterations().

◆ CONST1_RTX

◆ const1_rtx

#define const1_rtx   (const_int_rtx[MAX_SAVED_CONST_INT+1])

Referenced by bb_estimate_probability_locally(), canonicalize_iv_subregs(), ceil_sdiv_adjust(), ceil_udiv_adjust(), clz_loc_descriptor(), combine_simplify_rtx(), compare_by_pieces(), control_flow_insn_p(), convert_mode_scalar(), doloop_condition_get(), doloop_modify(), doloop_simplify_count(), dump_iv_info(), dw2_asm_output_encoded_addr_rtx(), emit_block_cmp_via_loop(), emit_conditional_add(), emit_conditional_move(), emit_cstore(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), expand_arith_set_overflow(), expand_atomic_test_and_set(), expand_builtin(), expand_builtin_atomic_always_lock_free(), expand_builtin_atomic_is_lock_free(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_longjmp(), expand_builtin_memory_copy_args(), expand_builtin_signbit(), expand_clrsb_using_clz(), expand_divmod(), expand_doubleword_divmod(), expand_eh_return(), expand_expr_real_2(), expand_float(), expand_ifn_atomic_bit_test_and(), expand_mul_overflow(), expand_parity(), expand_POPCOUNT(), expand_single_bit_test(), expand_smod_pow2(), expand_subword_shift(), expand_sync_lock_test_and_set(), rtx_vector_builder::find_cached_value(), implies_p(), init_emit_once(), ira(), iv_analyze_biv(), iv_constant(), iv_extend(), iv_number_of_iterations(), iv_subreg(), local_cprop_pass(), lra_final_code_change(), lshift_cheap_p(), make_field_assignment(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), one_cprop_pass(), optimize_bitfield_assignment_op(), popcount_loc_descriptor(), prefer_and_bit_test(), prepare_cmp_insn(), prepare_float_lib_cmp(), relational_result(), round_sdiv_adjust(), round_udiv_adjust(), simplify_context::simplify_binary_operation_1(), simplify_comparison(), simplify_context::simplify_relational_operation_1(), simplify_context::simplify_unary_operation_1(), try_combine(), and unroll_loop_runtime_iterations().

◆ CONST2_RTX

#define CONST2_RTX ( MODE)    (const_tiny_rtx[2][(int) (MODE)])

◆ const2_rtx

#define const2_rtx   (const_int_rtx[MAX_SAVED_CONST_INT+2])

◆ CONST_DOUBLE_AS_FLOAT_P

◆ CONST_DOUBLE_AS_INT_P

#define CONST_DOUBLE_AS_INT_P ( X)     (GET_CODE (X) == CONST_DOUBLE && GET_MODE (X) == VOIDmode)
Predicate yielding true iff X is an rtx for a double-int.   

Referenced by expand_mult(), mode_signbit_p(), output_addr_const(), and rtx_to_double_int().

◆ CONST_DOUBLE_HIGH

◆ CONST_DOUBLE_LOW

#define CONST_DOUBLE_LOW ( r)    XCMWINT (r, 0, CONST_DOUBLE, VOIDmode)
For a CONST_DOUBLE:
#if TARGET_SUPPORTS_WIDE_INT == 0
   For a VOIDmode, there are two integers CONST_DOUBLE_LOW is the
     low-order word and ..._HIGH the high-order.
#endif
   For a float, there is a REAL_VALUE_TYPE structure, and
     CONST_DOUBLE_REAL_VALUE(r) is a pointer to it.   

Referenced by add_const_value_attribute(), const_rtx_hash_1(), cselib_hash_rtx(), wi::int_traits< rtx_mode_t >::decompose(), const_double_hasher::equal(), const_double_hasher::hash(), hash_rtx(), immed_double_const(), make_tree(), mode_signbit_p(), output_addr_const(), print_value(), rtx_to_double_int(), and split_double().

◆ CONST_DOUBLE_P

#define CONST_DOUBLE_P ( X)    (GET_CODE (X) == CONST_DOUBLE)
Predicate yielding true iff X is an rtx for a double-int
or floating point constant.   

Referenced by const_double_operand(), constant_pool_constant_p(), native_encode_rtx(), and split_double().

◆ CONST_DOUBLE_REAL_VALUE

◆ CONST_FIXED_P

#define CONST_FIXED_P ( X)    (GET_CODE (X) == CONST_FIXED)
Predicate yielding nonzero iff X is an rtx for a constant fixed-point.   

Referenced by simplify_const_binary_operation(), simplify_context::simplify_gen_subreg(), simplify_context::simplify_subreg(), and valid_for_const_vector_p().

◆ CONST_FIXED_VALUE

#define CONST_FIXED_VALUE ( r)     ((const struct fixed_value *) XCNMPFV (r, CONST_FIXED, VOIDmode))

◆ CONST_FIXED_VALUE_HIGH

#define CONST_FIXED_VALUE_HIGH ( r)     ((HOST_WIDE_INT) (CONST_FIXED_VALUE (r)->data.high))

Referenced by native_encode_rtx().

◆ CONST_FIXED_VALUE_LOW

#define CONST_FIXED_VALUE_LOW ( r)     ((HOST_WIDE_INT) (CONST_FIXED_VALUE (r)->data.low))

◆ CONST_INT_P

#define CONST_INT_P ( X)    (GET_CODE (X) == CONST_INT)
Predicate yielding nonzero iff X is an rtx for a constant integer.   

Referenced by allocate_dynamic_stack_space(), anti_adjust_stack_and_probe(), anti_adjust_stack_and_probe_stack_clash(), asm_operand_ok(), autoinc_split(), avoid_expensive_constant(), base_alias_check(), can_replace_by(), canonicalize_address(), canonicalize_address_mult(), canonicalize_condition(), canonicalize_reload_addr(), change_zero_ext(), clear_storage_hints(), combine_simplify_rtx(), combine_stack_adjustments_for_block(), compute_stack_clash_protection_loop_data(), const_double_operand(), const_int_operand(), contains_muldiv(), convert_debug_memory_address(), convert_memory_address_addr_space_1(), cse_insn(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_record_sp_cfa_base_equiv(), cselib_reset_table(), cselib_sp_derived_value_p(), cselib_subst_to_values(), curr_insn_transform(), decl_piece_bitsize(), decompose(), default_elf_select_rtx_section(), delete_address_reloads(), determine_block_size(), determine_max_iter(), do_SUBST(), dw2_assemble_integer(), dwarf2out_frame_debug_expr(), eliminate_constant_term(), eliminate_regs_1(), eliminate_regs_in_insn(), elimination_costs_in_insn(), elimination_effects(), emit_block_cmp_hints(), emit_block_cmp_via_loop(), emit_block_move_hints(), emit_block_move_via_oriented_loop(), emit_block_move_via_pattern(), emit_block_move_via_sized_loop(), emit_push_insn(), expand_binop(), expand_builtin_apply(), expand_builtin_memcmp(), expand_builtin_memory_copy_args(), expand_builtin_stpcpy_1(), expand_compound_operation(), expand_debug_expr(), expand_debug_parm_decl(), expand_DIVMOD(), expand_divmod(), expand_doubleword_shift(), expand_expr_real_2(), expand_field_assignment(), expand_mult(), expand_shift_1(), expand_widening_mult(), extract_left_shift(), fill_slots_from_thread(), find_address(), find_base_term(), find_base_value(), find_decomposable_shift_zext(), find_equiv_reg(), find_inc_amount(), find_mem(), find_reloads(), find_reloads_address(), find_split_point(), fixed_base_plus_p(), fold_rtx(), force_int_to_mode(), force_operand(), force_reg(), force_to_mode(), form_sum(), gen_lowpart_common(), gen_lowpart_or_truncate(), general_operand(), get_call_args(), get_dynamic_stack_size(), get_index_scale(), get_integer_term(), get_related_value(), get_stored_val(), immediate_operand(), implies_p(), inc_for_reload(), initial_return_save(), invariant_or_equiv_p(), ira_setup_alts(), is_based_loc(), iv_number_of_iterations(), loc_descriptor(), loc_list_from_tree_1(), lra_eliminate_regs_1(), make_compound_operation_int(), make_extraction(), make_field_assignment(), mark_not_eliminable(), maybe_emit_call_builtin___clear_cache(), maybe_swap_commutative_operands(), mem_loc_descriptor(), memory_address_addr_space(), memory_load_overlap(), memrefs_conflict_p(), mode_signbit_p(), move2add_note_store(), noce_get_alt_condition(), noce_process_if_block(), noce_try_bitop(), noce_try_cmove(), noce_try_inverse_constants(), noce_try_store_flag(), noce_try_store_flag_constants(), nonzero_address_p(), nonzero_bits1(), num_sign_bit_copies1(), operand_for_swap_move_operator(), output_addr_const(), output_asm_insn(), parse_add_or_inc(), poly_int_rtx_p(), prepare_cmp_insn(), print_exp(), rtx_writer::print_rtx(), probe_stack_range(), process_alt_operands(), recog_for_combine(), record_reg_classes(), record_set(), record_store(), reg_scan_mark_refs(), reload_combine_note_use(), reload_combine_recognize_pattern(), reload_cse_move2add(), reload_cse_move2add_invalidate(), reload_cse_simplify(), reload_cse_simplify_operands(), reverse_op(), reverse_rotate_by_imm_p(), reversed_comparison_code_parts(), round_push(), rtvec_series_p(), rtx_equal_for_cselib_1(), rtx_to_double_int(), scan_insn(), scompare_loc_descriptor_narrow(), set_storage_via_libcall(), set_storage_via_setmem(), should_hoist_expr_to_dom(), sign_extend_short_imm(), simplify_and_const_int_1(), simplify_context::simplify_binary_operation_1(), simplify_comparison(), simplify_context::simplify_cond_clz_ctz(), simplify_const_relational_operation(), simplify_if_then_else(), simplify_immed_subreg(), simplify_logical(), simplify_context::simplify_plus_minus(), simplify_context::simplify_relational_operation_1(), simplify_shift_const_1(), simplify_context::simplify_subreg(), simplify_context::simplify_ternary_operation(), simplify_context::simplify_truncation(), simplify_context::simplify_unary_operation_1(), simplify_while_replacing(), sp_based_mem_offset(), split_const(), split_double(), stack_adjust_offset_pre_post(), stack_adjust_offset_pre_post_cb(), stack_memref_p(), store_bit_field_using_insv(), store_expr(), store_fixed_bit_field_1(), store_one_arg(), store_split_bit_field(), strip_address_mutations(), subst_reg_equivs(), try_apply_stack_adjustment(), try_combine(), ucompare_loc_descriptor(), use_anchored_address(), validate_pattern(), and values_equal_p().

◆ CONST_POLY_INT_COEFFS

#define CONST_POLY_INT_COEFFS ( RTX)
Value:
(RTL_FLAG_CHECK1("CONST_POLY_INT_COEFFS", (RTX), \
CONST_POLY_INT)->u.cpi.coeffs)
#define RTL_FLAG_CHECK1(NAME, RTX, C1)
Definition rtl.h:1336
For a CONST_POLY_INT, CONST_POLY_INT_COEFFS gives access to the
individual coefficients, in the form of a trailing_wide_ints structure.   

Referenced by inchash::add_rtx(), const_poly_int_value(), cselib_hash_rtx(), const_poly_int_hasher::equal(), const_poly_int_hasher::hash(), hash_rtx(), immed_wide_int_const(), poly_int_rtx_p(), rtx_writer::print_rtx(), print_value(), rtx_size(), and rtx_to_poly_int64().

◆ CONST_POLY_INT_P

#define CONST_POLY_INT_P ( X)     (NUM_POLY_INT_COEFFS > 1 && GET_CODE (X) == CONST_POLY_INT)

◆ CONST_SCALAR_INT_P

◆ CONST_VECTOR_DUPLICATE_P

◆ CONST_VECTOR_ELT

◆ CONST_VECTOR_ENCODED_ELT

#define CONST_VECTOR_ENCODED_ELT ( RTX,
N )   XCVECEXP (RTX, 0, N, CONST_VECTOR)

◆ CONST_VECTOR_NELTS_PER_PATTERN

#define CONST_VECTOR_NELTS_PER_PATTERN ( RTX)

◆ CONST_VECTOR_NPATTERNS

◆ CONST_VECTOR_NUNITS

◆ CONST_VECTOR_P

#define CONST_VECTOR_P ( X)    (GET_CODE (X) == CONST_VECTOR)
Predicate yielding nonzero iff X is an rtx for a constant vector.   

◆ CONST_VECTOR_STEPPED_P

◆ const_wide_int_alloc

#define const_wide_int_alloc ( NWORDS)
Value:
rtx_alloc_v (CONST_WIDE_INT, \
(sizeof (struct hwivec_def) \
+ ((NWORDS)-1) * sizeof (HOST_WIDE_INT))) \
#define rtx_alloc_v(c, SZ)
Definition rtl.h:2991
Definition rtl.h:282

Referenced by immed_wide_int_const_1(), and rtx_reader::read_rtx_code().

◆ CONST_WIDE_INT_ELT

◆ CONST_WIDE_INT_NUNITS

◆ CONST_WIDE_INT_P

#define CONST_WIDE_INT_P ( X)    (GET_CODE (X) == CONST_WIDE_INT)
Predicate yielding nonzero iff X is an rtx for a constant integer.   

Referenced by expand_mult(), loc_cmp(), mode_signbit_p(), rtx_reader::read_rtx_code(), rtx_size(), and validate_pattern().

◆ CONST_WIDE_INT_VEC

#define CONST_WIDE_INT_VEC ( RTX)    HWIVEC_CHECK (RTX, CONST_WIDE_INT)
For a CONST_WIDE_INT, CONST_WIDE_INT_NUNITS is the number of
elements actually needed to represent the constant.
CONST_WIDE_INT_ELT gets one of the elements.  0 is the least
significant HOST_WIDE_INT.   

◆ CONSTANT_P

#define CONSTANT_P ( X)     (GET_RTX_CLASS (GET_CODE (X)) == RTX_CONST_OBJ)
1 if X is a constant value that is an integer.   

Referenced by add_const_value_attribute(), add_location_or_const_value_attribute(), add_uses(), adjust_insn(), insn_propagation::apply_to_rvalue_1(), avoid_constant_pool_reference(), avoid_expensive_constant(), bb_ok_for_noce_convert_multiple_sets(), break_out_memory_refs(), can_combine_p(), can_widen_mult_without_libcall(), canonicalize_condition(), check_cond_move_block(), choose_reload_regs(), combine_simplify_rtx(), cond_move_process_if_block(), conforming_compare(), const_or_frame_p(), constrain_operands(), convert_move(), cprop_constant_p(), cse_insn(), cse_process_note_1(), cselib_record_sets(), pieces_addr::decide_autoinc(), decompose(), decompose_automod_address(), decompose_normal_address(), distribute_notes(), do_compare_rtx_and_jump(), eliminate_regs_1(), emit_block_cmp_via_loop(), emit_cmp_and_jump_insns(), emit_conditional_move(), emit_group_load_1(), emit_input_reload_insns(), emit_library_call_value_1(), emit_move_complex(), emit_move_insn(), emit_move_insn_1(), emit_move_multi_word(), emit_push_insn(), emit_store_flag(), equiv_constant(), expand_builtin_frame_address(), expand_doubleword_shift(), expand_expr_real_1(), expand_expr_real_2(), expand_gimple_stmt_1(), expand_mult(), expand_subword_shift(), extract_low_bits(), find_base_term(), find_base_value(), find_constant_src(), find_constant_term_loc(), find_equiv_reg(), find_reloads(), find_reloads_address(), find_reloads_address_part(), find_reloads_toplev(), find_shift_sequence(), find_split_point(), fold_rtx(), force_operand(), force_reg(), form_sum(), form_sum(), function_invariant_p(), gen_reload(), gen_reload_chain_without_interm_reg_p(), general_constant_p(), general_operand(), get_addr(), get_biv_step_1(), get_equiv_with_elimination(), get_index_term(), get_stored_val(), if_then_else_cond(), immediate_operand(), immune_p(), init_eliminable_invariants(), insert_with_costs(), instantiate_decl_rtl(), internal_arg_pointer_based_exp(), invariant_or_equiv_p(), iv_analyze_biv(), iv_analyze_expr(), loc_list_from_tree_1(), lra_eliminate_regs_1(), lra_emit_add(), lra_substitute_pseudo(), make_safe_from(), match_asm_constraints_1(), may_trap_p_1(), mem_loc_descriptor(), memory_address_addr_space(), memrefs_conflict_p(), move_block_to_reg(), move_insn_for_shrink_wrap(), move_plus_up(), noce_emit_move_insn(), noce_try_cmove(), nonimmediate_operand(), nonmemory_operand(), nonoverlapping_memrefs_p(), nonzero_address_p(), plus_constant(), plus_minus_operand_p(), precompute_register_parameters(), prepare_call_arguments(), prepare_cmp_insn(), preserve_temp_slots(), process_address_1(), process_alt_operands(), push_block(), push_reload(), recog_for_combine(), record_address_regs(), record_jump_cond(), record_reg_classes(), record_store(), reg_overlap_mentioned_for_reload_p(), reg_overlap_mentioned_p(), reload(), reload_combine_recognize_const_pattern(), reload_cse_simplify_operands(), reload_cse_simplify_set(), reload_inner_reg_of_subreg(), reverse_op(), rtl_for_decl_location(), scan_one_insn(), setup_reg_equiv(), simplify_expand_binop(), simplify_if_then_else(), simplify_operand_subreg(), simplify_context::simplify_plus_minus(), simplify_context::simplify_relational_operation_1(), simplify_set(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), simplify_using_initial_values(), simplify_while_replacing(), single_reg_class(), split_insn(), store_bit_field_using_insv(), store_expr(), store_split_bit_field(), try_combine(), try_eliminate_compare(), try_replace_in_use(), try_replace_reg(), use_narrower_mode(), and use_narrower_mode_test().

◆ CONSTANT_POOL_ADDRESS_P

◆ CONSTM1_RTX

◆ constm1_rtx

◆ convert_memory_address

◆ COSTS_N_INSNS

#define COSTS_N_INSNS ( N)    ((N) * 4)

◆ CROSSING_JUMP_P

◆ CSELIB_VAL_PTR

◆ CWI_ELT

#define CWI_ELT ( RTX,
I )   ((RTX)->u.hwiv.elem[I])

◆ CWI_GET_NUM_ELEM

#define CWI_GET_NUM_ELEM ( RTX)     ((int)RTL_FLAG_CHECK1("CWI_GET_NUM_ELEM", (RTX), CONST_WIDE_INT)->u2.num_elem)
Number of elements of the HWIVEC if RTX is a CONST_WIDE_INT.   

Referenced by cwi_output_hex().

◆ CWI_PUT_NUM_ELEM

#define CWI_PUT_NUM_ELEM ( RTX,
NUM )    (RTL_FLAG_CHECK1("CWI_PUT_NUM_ELEM", (RTX), CONST_WIDE_INT)->u2.num_elem = (NUM))

Referenced by immed_wide_int_const_1().

◆ DEBUG_BIND_INSN_P

#define DEBUG_BIND_INSN_P ( INSN)
Value:
(DEBUG_INSN_P (INSN) \
&& (GET_CODE (PATTERN (INSN)) \
== VAR_LOCATION))
#define DEBUG_INSN_P(X)
Definition rtl.h:854
rtx PATTERN(const_rtx insn)
Definition rtl.h:1502
Evaluate to TRUE if INSN is a debug insn that denotes a variable
location/value tracking annotation.   

Referenced by apply_opt_in_copies(), build_def_use(), combine_and_move_insns(), copyprop_hardreg_forward_1(), delete_trivially_dead_insns(), duplicate_insn_chain(), eliminate_regs_in_insn(), emit_input_reload_insns(), expand_debug_locations(), fixup_debug_insns(), insn_live_p(), instantiate_virtual_regs(), lra_set_insn_recog_data(), merge_in_block(), move_insn_for_shrink_wrap(), propagate_for_debug(), and reload().

◆ DEBUG_EXPR_TREE_DECL

◆ DEBUG_IMPLICIT_PTR_DECL

#define DEBUG_IMPLICIT_PTR_DECL ( RTX)    XCTREE (RTX, 0, DEBUG_IMPLICIT_PTR)
VAR_DECL/PARM_DECL DEBUG_IMPLICIT_PTR takes address of.   

Referenced by cselib_hash_rtx(), implicit_ptr_descriptor(), rtx_writer::print_rtx_operand(), rtx_equal_for_cselib_1(), and rtx_equal_p().

◆ DEBUG_INSN_P

#define DEBUG_INSN_P ( X)    (GET_CODE (X) == DEBUG_INSN)
Predicate yielding nonzero iff X is a debug note/insn.   

Referenced by add_next_usage_insn(), add_removable_extension(), assign_spill_hard_regs(), base_reg_class_for_rename(), block_jumps_and_fallthru(), bypass_conditional_jumps(), can_move_invariant_reg(), canonicalize_insn(), check_new_reg_p(), combine_and_move_insns(), combine_reaching_defs(), cond_exec_process_if_block(), cond_exec_process_insns(), cprop_insn(), cselib_invalidate_mem(), cselib_invalidate_regno_val(), dce_process_block(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_or_predicable(), decompose_multiword_subregs(), def_dominates_uses(), delete_insn_and_edges(), delete_trivially_dead_insns(), delete_vta_debug_insns(), df_insn_change_bb(), df_insn_rescan(), df_insn_rescan_debug_internal(), df_install_ref_incremental(), df_note_bb_compute(), df_ref_create_structure(), df_set_note(), df_simulate_uses(), df_uses_record(), discard_useless_locs(), distribute_links(), duplicate_insn_chain(), eliminate_regs_1(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), elimination_costs_in_insn(), emit_input_reload_insns(), emit_pattern_after(), emit_pattern_before(), cselib_hasher::equal(), equivalent_reg_at_start(), expand_gimple_basic_block(), final_scan_insn_1(), find_bb_boundaries(), find_equiv_reg(), find_moveable_pseudos(), find_rename_reg(), first_active_insn(), inherit_reload_reg(), insn_live_p(), invalidate_insn_data_regno_info(), last_active_insn(), local_cprop_pass(), lra_constraints(), lra_eliminate_regs_1(), lra_final_code_change(), lra_set_insn_recog_data(), lra_substitute_pseudo_within_insn(), lra_update_insn_recog_data(), mark_reg_dependencies(), mark_target_live_regs(), new_cselib_val(), new_elt_loc_list(), next_nondebug_insn(), next_nonnote_nondebug_insn(), next_nonnote_nondebug_insn_bb(), outgoing_edges_match(), prev_nondebug_insn(), prev_nonnote_nondebug_insn(), prev_nonnote_nondebug_insn_bb(), promote_debug_loc(), purge_dead_edges(), record_stack_refs(), referenced_in_one_insn_in_loop_p(), regrename_do_replace(), regrename_find_superclass(), regstat_init_n_sets_and_refs(), replace_oldest_value_addr(), replace_oldest_value_mem(), replace_oldest_value_reg(), reset_debug_uses_in_loop(), reset_unmarked_insns_debug_uses(), rtl_block_ends_with_call_p(), rtl_merge_blocks(), rtl_split_block(), save_call_clobbered_regs(), scan_insn(), scan_rtx_address(), scan_rtx_reg(), scan_trace(), set_new_first_and_last_insn(), shorten_branches(), spill_pseudos(), split_live_ranges_for_shrink_wrap(), split_reg(), is_a_helper< T >::test(), trivially_empty_bb_p(), try_back_substitute_reg(), try_combine(), try_crossjump_to_edge(), try_forward_edges(), verify_changes(), and word_dce_process_block().

◆ DEBUG_MARKER_INSN_P

#define DEBUG_MARKER_INSN_P ( INSN)
Value:
(DEBUG_INSN_P (INSN) \
&& (GET_CODE (PATTERN (INSN)) \
!= VAR_LOCATION))
Evaluate to TRUE if INSN is a debug insn that denotes a program
source location marker.   

Referenced by delete_trivially_dead_insns(), delete_vta_debug_insn(), insn_live_p(), instantiate_virtual_regs(), lra_set_insn_recog_data(), print_insn(), reemit_marker_as_note(), and vt_initialize().

◆ DEBUG_PARAMETER_REF_DECL

#define DEBUG_PARAMETER_REF_DECL ( RTX)    XCTREE (RTX, 0, DEBUG_PARAMETER_REF)

◆ DEF_INSN_NOTE

#define DEF_INSN_NOTE ( NAME)    NAME,

◆ DEF_REG_NOTE

#define DEF_REG_NOTE ( NAME)    NAME,

◆ DEF_RTL_EXPR

#define DEF_RTL_EXPR ( ENUM,
NAME,
FORMAT,
CLASS )   ENUM ,

◆ ENTRY_VALUE_EXP

#define ENTRY_VALUE_EXP ( RTX)    (RTL_CHECKC1 (RTX, 0, ENTRY_VALUE).rt_rtx)

◆ EXTRACT_ARGS_IN_RANGE

#define EXTRACT_ARGS_IN_RANGE ( SIZE,
POS,
RANGE )
Value:
(IN_RANGE ((POS), 0, (unsigned HOST_WIDE_INT) (RANGE) - 1) \
&& IN_RANGE ((SIZE), 1, (unsigned HOST_WIDE_INT) (RANGE) \
- (unsigned HOST_WIDE_INT)(POS)))
#define IN_RANGE(VALUE, LOWER, UPPER)
Definition system.h:320
A convenience macro to validate the arguments of a zero_extract
expression.  It determines whether SIZE lies inclusively within
[1, RANGE], POS lies inclusively within between [0, RANGE - 1]
and the sum lies inclusively within [1, RANGE].  RANGE must be
>= 1, but SIZE and POS may be negative.   

◆ FAKE_CALL_P

#define FAKE_CALL_P ( RTX)     (RTL_FLAG_CHECK1 ("FAKE_CALL_P", (RTX), CALL_INSN)->used)
1 if RTX is a call_insn for a fake call.
CALL_INSN use "used" flag to indicate it's a fake call.   

Referenced by df_get_call_refs(), leaf_function_p(), and requires_stack_frame_p().

◆ fatal_insn

◆ fatal_insn_not_found

◆ FIND_REG_INC_NOTE

#define FIND_REG_INC_NOTE ( INSN,
REG )   0
Define a macro to look for REG_INC notes,
but save time on machines where they never exist.   

Referenced by can_combine_p(), canonicalize_condition(), insn_invalid_p(), reg_set_p(), try_combine(), and try_split().

◆ FIRST_VIRTUAL_REGISTER

#define FIRST_VIRTUAL_REGISTER   (FIRST_PSEUDO_REGISTER)
Virtual registers are used during RTL generation to refer to locations into
the stack frame when the actual location isn't known until RTL generation
is complete.  The routine instantiate_virtual_regs replaces these with
the proper value, which is normally {frame,arg,stack}_pointer_rtx plus
a constant.   

Referenced by rtx_writer::print_rtx_operand_code_r().

◆ frame_pointer_rtx

◆ GEN_INT

#define GEN_INT ( N)    gen_rtx_CONST_INT (VOIDmode, (N))

Referenced by add_mask_and_len_args(), anti_adjust_stack_and_probe(), anti_adjust_stack_and_probe_stack_clash(), asan_clear_shadow(), asan_emit_stack_protection(), assemble_real(), assign_parm_setup_block(), assign_parm_setup_stack(), avoid_expensive_constant(), bswap_loc_descriptor(), canonicalize_reload_addr(), change_zero_ext(), clz_loc_descriptor(), compute_stack_clash_protection_loop_data(), cse_insn(), decl_piece_node(), do_compare_rtx_and_jump(), do_store_flag(), doloop_condition_get(), dw2_asm_output_data(), dw2_asm_output_data_sleb128(), dw2_asm_output_data_uleb128(), dw2_fix_up_crossing_landing_pad(), tree_switch_conversion::bit_test_cluster::emit(), emit_block_cmp_via_loop(), emit_block_move_via_loop(), emit_note_insn_var_location(), emit_push_insn(), emit_store_flag(), emit_store_flag_force(), emit_store_flag_int(), expand_builtin_classify_type(), expand_builtin_dwarf_sp_column(), expand_builtin_eh_return_data_regno(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_issignaling(), expand_call(), expand_clrsb_using_clz(), expand_debug_expr(), expand_doubleword_divmod(), expand_doubleword_mod(), expand_expr_real_2(), expand_ffs(), expand_field_assignment(), expand_fn_using_insn(), expand_function_end(), expand_GOACC_DIM_SIZE(), expand_mem_thread_fence(), expand_vec_perm_var(), expand_widen_pattern_expr(), find_address(), find_mem(), fold_rtx(), force_to_mode(), gen_int_mode(), if_then_else_cond(), immed_double_const(), index_part_to_reg(), init_emit_once(), init_expmed(), instantiate_new_reg(), internal_check_ptrs_fn_supported_p(), internal_gather_scatter_fn_supported_p(), internal_len_load_store_bias(), invert_br_probabilities(), make_extraction(), make_reg_eh_region_note(), make_reg_eh_region_note_nothrow_nononlocal(), maybe_expand_shift(), maybe_swap_commutative_operands(), move_block_from_reg(), move_block_to_reg(), noce_get_alt_condition(), noce_try_store_flag_constants(), optimize_range_tests_to_bit_test(), output_constructor(), output_constructor_bitfield(), output_constructor_regular_field(), parse_add_or_inc(), predict_insn(), prefer_and_bit_test(), prepare_call_address(), prepare_call_arguments(), prepare_cmp_insn(), print_exp(), reload_combine_recognize_pattern(), rotate_loc_descriptor(), round_push(), rtl_for_decl_init(), sign_extend_short_imm(), simplify_context::simplify_binary_operation_1(), simplify_compare_const(), simplify_comparison(), simplify_context::simplify_gen_vec_select(), simplify_shift_const_1(), simplify_context::simplify_truncation(), simplify_while_replacing(), sjlj_assign_call_site_values(), sjlj_fix_up_crossing_landing_pad(), split_double(), store_constructor(), store_expr(), store_split_bit_field(), try_apply_stack_adjustment(), try_const_anchors(), and try_store_by_multiple_pieces().

◆ gen_lowpart

#define gen_lowpart   rtl_hooks.gen_lowpart
Keep this for the nonce.   

Referenced by combine_simplify_rtx(), convert_extracted_bit_field(), convert_float_to_wider_int(), convert_mode_scalar(), convert_modes(), convert_move(), convert_wider_int_to_float(), copy_blkmode_to_reg(), cse_insn(), cse_process_note_1(), cselib_record_sets(), default_memtag_extract_tag(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), emit_group_load_1(), emit_group_store(), equiv_constant(), expand_absneg_bit(), expand_binop(), expand_builtin_issignaling(), expand_builtin_signbit(), expand_builtin_stpcpy_1(), expand_compound_operation(), expand_cond_expr_using_cmove(), expand_copysign_absneg(), expand_copysign_bit(), expand_divmod(), expand_doubleword_clz_ctz_ffs(), expand_expr_real_1(), expand_field_assignment(), expand_movstr(), expand_mult_const(), expand_mult_highpart(), expand_parity(), expand_unop(), expand_vec_perm_const(), expand_vec_perm_var(), extract_bit_field_1(), extract_low_bits(), find_split_point(), flip_storage_order(), force_to_mode(), gen_lowpart_or_truncate(), get_last_value(), get_stored_val(), insert_with_costs(), make_compound_operation_int(), make_extraction(), plus_constant(), record_dead_and_set_regs_1(), rtx_equal_for_field_assignment_p(), simplify_and_const_int(), simplify_and_const_int_1(), simplify_comparison(), simplify_if_then_else(), simplify_set(), simplify_shift_const(), simplify_shift_const_1(), store_bit_field_1(), store_bit_field_using_insv(), store_integral_bit_field(), try_combine(), widen_bswap(), and widen_operand().

◆ gen_rtx_ASM_INPUT

#define gen_rtx_ASM_INPUT ( MODE,
ARG0 )    gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), 0)
Include the RTL generation functions.   

Referenced by gen_blockage().

◆ gen_rtx_ASM_INPUT_loc

#define gen_rtx_ASM_INPUT_loc ( MODE,
ARG0,
LOC )    gen_rtx_fmt_si (ASM_INPUT, (MODE), (ARG0), (LOC))

Referenced by expand_asm_loc(), and expand_asm_stmt().

◆ GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT

#define GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT ( )     gen_rtx_DEBUG_MARKER (VOIDmode)
Create patterns for debug markers.  These and the above abstract
the representation, so that it's easier to get rid of the abuse of
the mode to hold the marker kind.  Other marker types are
envisioned, so a single bit flag won't do; maybe separate RTL codes
wouldn't be a problem.   

Referenced by expand_gimple_basic_block().

◆ GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT

#define GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT ( )     gen_rtx_DEBUG_MARKER (BLKmode)

◆ gen_rtx_UNKNOWN_VAR_LOC

◆ GET_CODE

#define GET_CODE ( RTX)    ((enum rtx_code) (RTX)->code)
Define macros to access the `code' field of the rtx.   

Referenced by active_insn_p(), add_attributes(), add_auto_inc_notes(), add_const_value_attribute(), add_constraint(), add_constraints(), add_equal_note(), add_label_notes(), add_location_or_const_value_attribute(), add_mode_tests(), add_next_usage_insn(), add_regs_to_insn_regno_info(), add_removable_extension(), inchash::add_rtx(), add_shallow_copy_of_reg_note(), add_stored_regs(), add_stores(), generic_subrtx_iterator< T >::add_subrtxes_to_queue(), add_test(), add_uses(), add_var_loc_to_decl(), addr_for_mem_ref(), addr_side_effect_eval(), adjust_address_1(), adjust_for_new_dest(), adjust_insn(), adjust_mems(), alloc_INSN_LIST(), alter_attrs_for_insn(), alter_attrs_for_subst_insn(), alter_constraints(), alter_predicate_for_insn(), alter_subregs(), analyze_insn_to_expand_var(), anti_adjust_stack_and_probe(), any_condjump_p(), any_post_modify_p(), any_pre_modify_p(), any_uncondjump_p(), fixup_expr::apply(), apply_distributive_law(), apply_int_iterator(), apply_opt_in_copies(), insn_propagation::apply_to_lvalue_1(), insn_propagation::apply_to_pattern_1(), insn_propagation::apply_to_rvalue_1(), arithmetic_flags_clobber_p(), asan_protect_global(), asm_insn_count(), asm_labels_ok(), asm_noperands(), asm_operand_ok(), assemble_integer(), assemble_variable(), assign_parm_adjust_entry_rtl(), assign_parm_is_stack_parm(), assign_parm_remove_parallels(), assign_parm_setup_block(), assign_parm_setup_reg(), attr_checksum(), attr_checksum_ordered(), attr_rtx_1(), attr_rtx_cost(), attr_value_alignment(), auto_inc_p(), autoinc_split(), avoid_complex_debug_insns(), avoid_constant_pool_reference(), bad_for_rematerialization_p(), base_alias_check(), bb_estimate_probability_locally(), bb_is_just_return(), bb_ok_for_noce_convert_multiple_sets(), block_has_only_trap(), block_jumps_and_fallthru(), break_out_memory_refs(), build_def_use(), build_insn_chain(), bypass_block(), bypass_conditional_jumps(), calculate_equiv_gains(), call_from_call_insn(), can_combine_p(), can_have_basic_block_p(), can_merge_compare_into_arith(), can_simplify_addr(), can_throw_external(), canon_address(), canon_condition(), canon_list_insert(), canon_reg(), canon_reg_for_combine(), canon_rtx(), canonical_cselib_val(), canonicalize_address_mult(), canonicalize_condition(), canonicalize_insn(), canonicalize_reload_addr(), canonicalize_values_mark(), canonicalize_values_star(), canonicalize_vars_star(), cant_combine_insn_p(), change_regs(), change_subst_attribute(), change_zero_ext(), check_and_make_def_conflict(), check_and_process_move(), check_attr_test(), check_attr_value(), check_cond_move_block(), check_defs(), check_eliminable_occurrences(), check_for_inc_dec(), check_for_inc_dec_1(), check_for_label_ref(), check_maybe_invariant(), check_promoted_subreg(), check_rtl(), check_sibcall_argument_overlap_1(), check_tune_attr(), check_tune_attr(), choose_reload_regs(), classify_insn(), cleanup_auto_inc_dec(), cleanup_subreg_operands(), clear_storage(), clear_struct_flag(), clobber_overlapping_mems(), clz_loc_descriptor(), collect_address_parts(), collect_insn_data(), collect_non_operand_hard_regs(), combinable_i3pat(), combine_and_move_insns(), combine_instructions(), combine_set_extension(), combine_simplify_rtx(), combine_stack_adjustments_for_block(), commutative_operand_precedence(), compare_and_jump_seq(), compare_constant(), compares_alternatives_p(), compute_alternative_mask(), compute_argument_addresses(), compute_bb_dataflow(), compute_hash_table(), compute_ld_motion_mems(), compute_reloc_for_rtx(), compute_reloc_for_rtx_1(), compute_test_codes(), compute_transp(), computed_jump_p(), computed_jump_p_1(), cond_exec_get_condition(), cond_exec_process_insns(), cond_move_convert_if_block(), condition_dominates_p(), condjump_in_parallel_p(), condjump_label(), condjump_p(), conforming_compare(), consolidate_reg(), function_reader::consolidate_singletons(), const_hash_1(), const_ok_for_output(), const_ok_for_output_1(), const_or_frame_p(), const_rtx_hash_1(), const_vec_duplicate_p(), const_vec_series_p(), constrain_operands(), constraints_supported_in_insn_p(), contains(), contains_call_div_mod(), contains_muldiv(), contains_reg_p(), contains_symbolic_reference_p(), control_flow_insn_p(), convert_debug_memory_address(), convert_memory_address_addr_space_1(), convert_mode_scalar(), convert_modes(), convert_move(), convert_syntax(), convert_to_eh_region_ranges(), copy_boolean(), copy_cost(), copy_insn_1(), copy_replacements_1(), copy_rtx(), md_reader::copy_rtx_for_iterators(), copy_rtx_if_shared_1(), symtab_node::copy_visibility_from(), copyprop_hardreg_forward_1(), count_alternatives(), count_occurrences(), count_reg_usage(), count_rtxs(), covers_regno_no_parallel_p(), covers_regno_p(), cprop_constant_p(), cprop_jump(), create_insn_allocnos(), create_pseudo_cfg(), cse_cc_succs(), cse_insn(), cse_prescan_path(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_invalidate_rtx(), cselib_lookup_1(), cselib_process_insn(), cselib_record_sets(), cselib_record_sp_cfa_base_equiv(), cselib_redundant_set_p(), cselib_reset_table(), cselib_sp_derived_value_p(), cselib_subst_to_values(), cst_pool_loc_descr(), curr_insn_transform(), dataflow_set_preserve_mem_locs(), dataflow_set_remove_mem_locs(), dbr_schedule(), dead_debug_global_replace_temp(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_or_set_regno_p(), dead_pseudo_p(), debug_optab_libfuncs(), decl_piece_bitsize(), decode_asm_operands(), decompose(), wi::int_traits< rtx_mode_t >::decompose(), decompose_address(), decompose_automod_address(), decompose_multiword_subregs(), decompose_normal_address(), decrease_live_ranges_number(), default_const_not_ok_for_debug_p(), default_elf_select_rtx_section(), default_encode_section_info(), deletable_insn_p(), deletable_insn_p_1(), delete_address_reloads(), delete_address_reloads_1(), delete_dead_insn(), delete_jump(), delete_move_and_clobber(), delete_output_reload(), delete_prior_computation(), delete_related_insns(), determine_max_iter(), df_def_record_1(), df_defs_record(), df_find_def(), df_find_hard_reg_defs(), df_find_hard_reg_defs_1(), df_find_use(), df_get_call_refs(), df_insn_refs_collect(), df_ref_create_structure(), df_ref_record(), df_uses_record(), df_word_lr_mark_ref(), diddle_return_value_1(), distribute_and_simplify_rtx(), distribute_links(), distribute_notes(), do_compare_rtx_and_jump(), do_jump(), do_local_cprop(), do_output_reload(), do_SUBST(), do_tablejump(), doloop_condition_get(), doloop_modify(), doloop_simplify_count(), drop_writeback(), duplicate_insn_chain(), duplicate_reg_note(), dv_from_rtx(), dw2_asm_output_encoded_addr_rtx(), dw2_force_const_mem(), dw_loc_list(), dw_loc_list_1(), dw_sra_loc_expr(), dwarf2out_frame_debug(), dwarf2out_frame_debug_adjust_cfa(), dwarf2out_frame_debug_cfa_offset(), dwarf2out_frame_debug_cfa_restore(), dwarf2out_frame_debug_expr(), eh_returnjump_p(), eliminate_constant_term(), eliminate_known_true(), eliminate_partially_redundant_loads(), eliminate_regs_1(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), elimination_costs_in_insn(), elimination_effects(), emit(), address_reload_context::emit_autoinc(), emit_block_move(), emit_call_1(), emit_call_insn(), emit_clobber(), emit_conditional_add(), emit_conditional_move(), emit_copy_of_insn_after(), emit_debug_insn(), emit_group_load_1(), emit_group_move(), emit_group_store(), emit_input_reload_insns(), emit_insn(), emit_insn_if_valid_for_reload(), emit_jump_insn(), emit_library_call_value_1(), emit_move_complex(), emit_move_complex_push(), emit_move_list(), emit_move_multi_word(), emit_move_resolve_push(), emit_note_insn_var_location(), emit_notes_in_bb(), emit_pattern_after_noloc(), emit_pattern_before_noloc(), emit_push_insn(), emit_reload_insns(), emit_spill_move(), emit_use(), cselib_hasher::equal(), equal_different_set_p(), equiv_address_substitution(), equiv_constant(), equiv_init_movable_p(), equiv_init_varies_p(), evaluate_eq_attr(), exact_int_to_float_conversion_p(), exp_equiv_p(), expand_asm_stmt(), expand_assignment(), expand_builtin_apply(), expand_call(), expand_ccmp_expr(), expand_compound_operation(), expand_constructor(), expand_debug_expr(), expand_debug_locations(), expand_debug_parm_decl(), expand_expr_real_1(), expand_expr_real_2(), expand_field_assignment(), expand_fn_using_insn(), expand_function_end(), expand_function_start(), expand_gimple_basic_block(), expand_gimple_stmt(), expand_gimple_stmt_1(), expand_loc(), expand_mult_const(), expand_return(), expand_shift_1(), expand_ubsan_result_store(), expand_used_vars(), expand_value_return(), function_reader::extra_parsing_for_operand_code_0(), extract_asm_operands(), extract_bit_field_1(), extract_bit_field_using_extv(), extract_insn(), extract_left_shift(), extract_mem_from_operand(), extract_plus_operands(), extract_split_bit_field(), extract_writebacks(), fill_simple_delay_slots(), fill_slots_from_thread(), final_scan_insn_1(), find_address(), find_args_size_adjust(), find_attrs_to_cache(), find_auto_inc(), find_base_term(), find_base_value(), find_bb_boundaries(), find_call_crossed_cheap_reg(), find_call_stack_args(), find_cc_set(), find_comparison_args(), find_cond_trap(), find_constant_term_loc(), find_decomposable_shift_zext(), find_decomposable_subregs(), find_dummy_reload(), find_end_label(), find_equiv_reg(), find_first_parameter_load(), find_flags_uses_in_insn(), find_implicit_sets(), find_inc_amount(), find_loads(), find_loc_in_1pdv(), find_matching_operand(), find_mem(), find_mem_conflicts(), find_mem_expr_in_1pdv(), find_memory(), find_memory_stores(), find_operand(), find_reg_equal_equiv_note(), find_reg_fusage(), find_reg_offset_for_const(), find_regno_fusage(), find_reload_regno_insns(), find_reloads(), find_reloads_address(), find_reloads_address_1(), find_reloads_address_part(), find_reloads_toplev(), find_replacement(), find_reusable_reload(), find_sets_in_insn(), find_single_use_1(), find_split_point(), find_subregs_of_mode(), find_temp_slot_from_address(), pair_fusion::find_trailing_add(), find_tune_attr(), find_tune_attr(), find_used_regs(), fix_crossing_conditional_branches(), fixed_base_plus_p(), fixup_debug_uses(), flow_active_insn_p(), fold_rtx(), for_each_inc_dec(), for_each_inc_dec_find_inc_dec(), force_const_mem(), force_int_to_mode(), force_operand(), force_reg(), force_reload_address(), force_to_mode(), forget_old_reloads_1(), form_sum(), form_sum(), forward_propagate_subreg(), forward_propagate_subreg(), free_INSN_LIST_node(), free_list(), free_load_extend(), function_invariant_p(), gen_addr_rtx(), gen_array_type_die(), gen_attr(), gen_attr(), gen_automata_option(), gen_automaton(), gen_bypass(), gen_cpu_unit(), gen_excl_set(), gen_exp(), gen_group_rtx(), gen_insn(), gen_insn(), gen_lowpart_common(), gen_lowpart_for_combine(), gen_lowpart_general(), gen_mnemonic_attr(), gen_peephole2(), gen_presence_absence_set(), gen_query_cpu_unit(), gen_reload(), gen_reload_chain_without_interm_reg_p(), gen_split(), general_operand(), generate_switch_p(), get_addr(), get_addr_from_global_cache(), get_addr_from_local_cache(), get_alternatives_number(), get_attr_length_1(), get_base_term(), get_biv_step_1(), get_branch_condition(), get_c_test(), get_call_args(), get_call_rtx_from(), get_condition(), get_defs(), get_eh_region_and_lp_from_rtx(), get_equiv_regno(), get_extended_src_reg(), get_first_nonnote_insn(), get_fnname_from_decl(), get_index_code(), get_index_scale(), get_index_term(), get_integer_term(), rtx_jump_table_data::get_labels(), get_last_value(), get_last_value_validate(), get_mem_expr_from_op(), get_pattern_stats_1(), get_peephole2_pattern(), get_pressure_class_and_nregs(), get_pressure_class_and_nregs(), get_regno(), get_related_value(), get_reload_reg(), get_some_local_dynamic_name(), get_sub_rtx(), pair_fusion::get_viable_bases(), go_through_subreg(), function_reader::handle_any_trailing_information(), hard_reg_set_here_p(), has_subst_attribute(), hash_invariant_expr_1(), hash_rtx(), hash_scan_insn(), hash_scan_insn(), hash_scan_set(), identify_predicable_attribute(), if_test_bypass_p(), if_then_else_cond(), implicit_set_cond_p(), implies_p(), in_class_p(), in_initial_view_p(), inc_for_reload(), indirect_jump_optimize(), indirect_operand(), inherit_in_ebb(), inherit_reload_reg(), init_alias_analysis(), init_eliminable_invariants(), initial_return_save(), initialize_argument_information(), insert_regs(), insert_right_side(), insert_with_costs(), inside_basic_block_p(), insn_invalid_p(), insn_live_p(), insn_nothrow_p(), insn_stack_adjust_offset_pre_post(), instantiate_decl_rtl(), instantiate_virtual_regs(), instantiate_virtual_regs_in_insn(), instantiate_virtual_regs_in_rtx(), interesting_dest_for_shprep(), internal_arg_pointer_based_exp(), intersect_loc_chains(), invalidate(), invalidate_any_buried_refs(), invalidate_dest(), invalidate_from_clobbers(), invalidate_from_sets_and_clobbers(), invalidate_reg(), invariant_expr_equal_p(), invariant_or_equiv_p(), invariant_p(), invert_exp_1(), ira_bad_reload_regno_1(), ira_implicitly_set_insn_hard_regs(), ira_remove_insn_scratches(), is_based_loc(), is_cond_copy_insn(), is_not(), is_parallel_of_n_reg_sets(), is_predicable(), is_pseudo_reg(), iv_analyze(), iv_analyze_expr(), iv_analyze_op(), iv_get_reaching_def(), iv_number_of_iterations(), kill_autoinc_value(), kill_clobbered_value(), kill_set_value(), kill_value(), known_cond(), last_active_insn(), leaf_function_p(), likely_spilled_retval_p(), link_insn_into_chain(), load_register_parameters(), loc_cmp(), loc_descriptor(), loc_equivalence_change_p(), loc_list_from_tree_1(), loc_mentioned_in_p(), local_cprop_find_used_regs(), local_cprop_pass(), location_for_asm(), lookup_as_function(), lra_constraints(), lra_delete_dead_insn(), lra_eliminate_regs_1(), lra_emit_add(), lra_emit_move(), lra_final_code_change(), lra_rtx_hash(), lra_set_insn_recog_data(), lra_substitute_pseudo(), lra_update_insn_regno_info(), lsb_bitfield_op_p(), main(), main(), make_automaton_attrs(), make_canonical(), make_compound_operation(), make_compound_operation_int(), symtab_node::make_decl_local(), make_decl_rtl(), make_edges(), make_extraction(), make_field_assignment(), make_insn_raw(), make_pseudo_conflict(), make_return_insns(), make_safe_from(), make_tree(), mark_altered(), mark_constants_in_pattern(), mark_effect(), mark_hard_reg_early_clobbers(), mark_jump_label_1(), mark_label_nuses(), mark_mode_tests(), mark_nonreg_stores_1(), mark_nonreg_stores_2(), mark_not_eliminable(), mark_not_eliminable(), mark_operands_from_match_dup(), mark_operands_used_in_match_dup(), mark_ref_dead(), mark_ref_live(), mark_ref_regs(), mark_referenced_regs(), mark_referenced_resources(), mark_reg_clobber(), mark_reg_store(), mark_set_regs(), mark_set_resources(), mark_symbol_refs_as_used(), mark_target_live_regs(), mark_used_flags(), mark_used_regs_combine(), mark_user_reg(), mark_weak(), match_pattern_2(), match_reload(), match_rtx(), max_attr_value(), max_operand_1(), may_alias_p(), may_trap_p_1(), maybe_add_nop_after_section_switch(), maybe_emit_group_store(), maybe_fix_stack_asms(), maybe_merge_cfa_adjust(), maybe_propagate_label_ref(), maybe_record_trace_start(), maybe_reset_location_view(), maybe_swap_commutative_operands(), mem_autoinc_base(), mem_loc_descriptor(), memory_address_addr_space(), memory_operand(), memref_referenced_p(), memrefs_conflict_p(), mems_conflict_for_gcse_p(), mention_regs(), merge_equiv_classes(), merge_if_block(), merge_in_block(), merge_memattrs(), min_attr_value(), minmax_loc_descriptor(), mode_dependent_address_p(), modified_between_p(), modified_in_p(), move2add_note_store(), move2add_record_mode(), move2add_use_add2_insn(), move_deaths(), move_insn_for_shrink_wrap(), move_invariant_reg(), move_plus_up(), multiple_reg_loc_descriptor(), multiple_sets(), narrow_reload_pseudo_class(), native_encode_rtx(), need_fake_edge_p(), needs_barrier_p(), needs_variable(), new_elt_loc_list(), generic_subrtx_iterator< T >::next(), next_insn(), next_insn_no_annul(), no_conflict_move_test(), noce_bbs_ok_for_cond_zero_arith(), noce_can_force_operand(), noce_cond_zero_binary_op_supported(), noce_convert_multiple_sets_1(), noce_emit_cmove(), noce_emit_move_insn(), noce_emit_store_flag(), noce_get_alt_condition(), noce_get_condition(), noce_process_if_block(), noce_reversed_cond_code(), noce_try_abs(), noce_try_addcc(), noce_try_bitop(), noce_try_cmove(), noce_try_cmove_arith(), noce_try_cond_zero_arith(), noce_try_ifelse_collapse(), noce_try_minmax(), noce_try_move(), noce_try_sign_mask(), noce_try_store_flag_constants(), non_suitable_const(), nonzero_address_p(), nonzero_bits1(), nonzero_bits_binary_arith_p(), noop_move_p(), note_pattern_stores(), note_sets_clobbers(), note_stores(), note_uses(), notice_stack_pointer_modification_1(), notify_dependents_of_changed_value(), notreg_cost(), num_sign_bit_copies1(), num_sign_bit_copies_binary_arith_p(), offset_address(), offset_within_block_p(), offsettable_address_addr_space_p(), old_insns_match_p(), one_cprop_pass(), onlyjump_p(), operand_for_swap_move_operator(), rtx_writer::operand_has_default_value_p(), operands_match_p(), operands_match_p(), oprs_unchanged_p(), oprs_unchanged_p(), optimize_attrs(), optimize_bitfield_assignment_op(), optimize_skip(), ordered_comparison_operator(), outgoing_edges_match(), output_add_clobbers(), output_addr_const(), output_asm_label(), output_constant_pool_1(), output_constant_pool_2(), output_operand(), output_peephole2_scratches(), own_thread_p(), pair_mem_strip_offset(), paradoxical_subreg_p(), parse_add_or_inc(), partial_subreg_p(), patch_jump_insn(), pattern_cost(), pc_set(), pieces_addr::pieces_addr(), place_block_symbol(), plus_constant(), plus_minus_operand_p(), pop_operand(), popcount_loc_descriptor(), pre_insert_copy_insn(), precompute_register_parameters(), predicate_name(), prepare_call_address(), prepare_call_arguments(), print_exp(), print_insn(), print_insn_with_notes(), print_pattern(), rtx_writer::print_rtl(), rtx_writer::print_rtx(), rtx_writer::print_rtx_operand(), rtx_writer::print_rtx_operand_code_0(), rtx_writer::print_rtx_operand_code_i(), rtx_writer::print_rtx_operand_code_u(), rtx_writer::print_rtx_operand_codes_E_and_V(), print_value(), process_addr_reg(), process_address_1(), process_alt_operands(), process_bb_node_lives(), pair_fusion::process_block(), process_define_constraint(), process_define_predicate(), process_define_subst(), process_rtx(), process_single_reg_class_operands(), process_substs_on_one_elem(), prune_expressions(), purge_dead_tablejump_edges(), push_operand(), push_reload(), read_complex_part(), read_md_rtx(), read_modify_subreg_p(), rtx_reader::read_rtx_code(), function_reader::read_rtx_operand(), rtx_reader::read_rtx_operand(), function_reader::read_rtx_operand_i_or_n(), function_reader::read_rtx_operand_u(), rtx_reader::read_rtx_variadic(), recog_for_combine(), recog_for_combine_1(), record_address_regs(), record_dead_and_set_regs_1(), record_jump_equiv(), record_last_set_info(), record_last_set_info(), record_operand_costs(), record_set(), record_set_data(), record_stack_refs(), record_store(), record_truncated_value(), record_value_for_reg(), redirect_exp_1(), redirect_jump_1(), redundant_insn(), references_value_p(), refers_to_mem_for_reload_p(), refers_to_regno_for_reload_p(), refers_to_regno_p(), refs_newer_value_p(), reg_bitfield_target_p(), reg_dead_at_p_1(), reg_mentioned_p(), reg_or_subregno(), reg_overlap_mentioned_for_reload_p(), reg_overlap_mentioned_p(), reg_referenced_p(), reg_scan_mark_refs(), reg_set_p(), reg_subword_p(), register_operand(), regno_clobbered_p(), regno_use_in(), regno_val_use_in(), rehash_using_reg(), relax_delay_slots(), reload(), reload_as_needed(), reload_combine(), reload_combine_note_store(), reload_combine_recognize_const_pattern(), reload_combine_recognize_pattern(), reload_cse_move2add(), reload_cse_move2add_invalidate(), reload_cse_simplify(), reload_cse_simplify_operands(), reload_inner_reg_of_subreg(), remove_clobbers(), remove_constraints(), remove_duplicate_values(), remove_inheritance_pseudos(), remove_insn(), remove_invalid_subreg_refs(), remove_pseudos(), renumerate_operands_in_pattern(), replace_duplicating_operands_in_pattern(), replace_expr_with_values(), replace_label(), replace_oldest_value_addr(), replace_operands_with_dups(), replace_pseudos_in(), replace_read(), replace_rtx(), replaced_subreg(), reset_all_used_flags(), resolve_operand_for_swap_move_operator(), resolve_reg_p(), resolve_shift_zext(), resolve_simple_move(), resolve_subreg_p(), rest_of_clean_state(), return_insn_p(), returnjump_p(), reverse_op(), reversed_comparison_code(), reversed_comparison_code_parts(), rotate_loc_descriptor(), rtl_for_decl_location(), rtl_lv_add_condition_to_bb(), rtl_verify_bb_layout(), rtvec_all_equal_p(), rtx_addr_can_trap_p_1(), rtx_addr_varies_p(), rtx_cost(), rtx_debug_expr_p(), rtx_equal_for_cselib_1(), rtx_equal_for_field_assignment_p(), rtx_equal_for_memref_p(), rtx_equal_p(), rtx_interchangeable_p(), rtx_moveable_p(), rtx_referenced_p(), rtx_renumbered_equal_p(), rtx_size(), rtx_unstable_p(), rtx_varies_p(), safe_from_p(), same_dw_val_p(), save_call_clobbered_regs(), scan_insn(), scan_loop(), scan_one_insn(), scan_operands(), scan_paradoxical_subregs(), scan_rtx(), scan_rtx_address(), scan_rtx_reg(), scan_trace(), scratch_equal(), scratch_operand(), set_for_reg_notes(), set_label_offsets(), set_nonzero_bits_and_sign_copies(), set_noop_p(), set_paradoxical_subreg(), set_reg_attrs_for_decl_rtl(), set_reg_attrs_for_parm(), set_reg_attrs_from_value(), set_return_jump_label(), set_rtl(), set_slot_part(), set_unique_reg_note(), setup_reg_equiv(), shallow_copy_rtx(), shared_const_p(), shorten_branches(), side_effects_p(), simple_move(), simple_move_operand(), simple_reg_p(), simple_regno_set(), simple_rhs_p(), simplejump_p(), simplify_and_const_int_1(), simplify_and_tree(), simplify_context::simplify_associative_operation(), simplify_context::simplify_binary_operation_1(), simplify_context::simplify_byte_swapping_operation(), simplify_comparison(), simplify_cond(), simplify_context::simplify_cond_clz_ctz(), simplify_const_binary_operation(), simplify_const_relational_operation(), simplify_const_unary_operation(), simplify_context::simplify_distributive_operation(), simplify_context::simplify_gen_subreg(), simplify_gen_subreg_concatn(), simplify_if_then_else(), simplify_logical(), simplify_context::simplify_logical_relational_operation(), simplify_context::simplify_merge_mask(), simplify_operand_subreg(), simplify_or_tree(), simplify_context::simplify_plus_minus(), simplify_context::simplify_relational_operation(), simplify_context::simplify_relational_operation_1(), simplify_replace_fn_rtx(), simplify_rtx(), simplify_set(), simplify_shift_const_1(), simplify_context::simplify_subreg(), simplify_subreg_concatn(), simplify_context::simplify_ternary_operation(), simplify_test_exp(), simplify_context::simplify_truncation(), simplify_context::simplify_unary_operation_1(), simplify_using_condition(), simplify_using_initial_values(), simplify_while_replacing(), single_set(), single_set_2(), single_set_for_csa(), single_set_gcse(), skip_insns_after_block(), skip_usage_debug_insns(), sp_based_mem_offset(), special_predicate_operand_p(), split_const(), split_double(), split_if_necessary(), split_reg(), stack_adjust_offset_pre_post(), stack_adjust_offset_pre_post_cb(), stack_memref_p(), stop_search_p(), store_bit_field_1(), store_bit_field_using_insv(), store_data_bypass_p(), store_data_bypass_p_1(), store_expr(), store_field(), store_integral_bit_field(), store_killed_in_insn(), store_killed_in_pat(), store_one_arg(), store_split_bit_field(), store_unaligned_arguments_into_pseudos(), strip_address_mutations(), strip_offset(), strip_offset_and_add(), strip_paradoxical_subreg(), strip_subreg(), subreg_lowpart_p(), subst(), subst_dup(), subst_indexed_address(), subst_pattern_match(), subst_reg_equivs(), subst_reloads(), substitute(), substitute(), substitute_address(), tablejump_casesi_pattern(), tests_attr_p(), thread_jump(), tls_referenced_p(), gdbhooks.RtxPrinter::to_string(), pair_fusion_bb_info::track_access(), transform_ifelse(), true_dependence_1(), true_regnum(), try_apply_stack_adjustment(), try_back_substitute_reg(), try_combine(), try_eliminate_compare(), try_emit_cmove_seq(), try_merge_delay_insns(), try_replace_in_use(), try_replace_reg(), rtx_properties::try_to_add_dest(), rtx_properties::try_to_add_insn(), rtx_properties::try_to_add_pattern(), rtx_properties::try_to_add_src(), undefined_operand_subword_p(), undo_optional_reloads(), unique_base_value_p(), unsigned_reg_p(), unsuitable_loc(), update_equiv_regs(), update_live_status(), update_reg_equal_equiv_notes(), update_table_tick(), update_temp_slot_address(), use_anchored_address(), use_narrower_mode(), use_narrower_mode_test(), use_related_value(), use_type(), uses_hard_regs_p(), uses_rtx_reuse_p(), val_bind(), val_reset(), validate_autoinc_and_mem_addr_p(), validate_change_1(), validate_exp(), validate_pattern(), validate_replace_rtx_1(), validate_simplify_insn(), validate_test_and_branch(), variable_merge_over_cur(), variable_post_merge_new_vals(), vec_duplicate_p(), vec_series_p(), verify_changes(), verify_rtl_sharing(), verify_rtx_sharing(), volatile_insn_p(), volatile_refs_p(), vt_add_function_parameter(), vt_canon_true_dep(), vt_canonicalize_addr(), vt_expand_loc_callback(), vt_expand_var_loc_chain(), vt_get_canonicalize_base(), vt_get_decl_and_offset(), vt_initialize(), walk_alter_subreg(), walk_attr_value(), walk_insn_part(), walk_rtx(), want_to_gcse_p(), widen_operand(), word_register_operation_p(), write_attr_set(), write_attr_value(), write_complex_part(), write_dependence_p(), write_insn_cases(), write_predicate_expr(), write_predicate_stmts(), and write_test_expr().

◆ GET_MODE

#define GET_MODE ( RTX)    ((machine_mode) (RTX)->mode)

Referenced by add_const_value_attribute(), add_equal_note(), add_regs_to_insn_regno_info(), add_removable_extension(), inchash::add_rtx(), add_stored_regs(), add_stores(), add_test(), add_uses(), addr_offset_valid_p(), addr_side_effect_eval(), address_operand(), adjust_address_1(), adjust_insn(), adjust_mems(), adjust_reg_mode(), allocate_basic_variable(), alter_reg(), alter_subreg(), analyze_insn_to_expand_var(), analyze_iv_to_split_insn(), anti_adjust_stack_and_probe(), anti_adjust_stack_and_probe_stack_clash(), apply_distributive_law(), insn_propagation::apply_to_rvalue_1(), approx_reg_cost(), asm_operand_ok(), assemble_integer(), assign_mem_slot(), assign_parm_adjust_entry_rtl(), assign_parm_remove_parallels(), assign_parm_setup_block(), assign_parm_setup_block_p(), assign_parm_setup_reg(), assign_parm_setup_stack(), assign_parms_unsplit_complex(), assign_stack_temp_for_type(), attempt_change(), autoinc_split(), avoid_complex_debug_insns(), avoid_constant_pool_reference(), avoid_likely_spilled_reg(), base_plus_disp_to_reg(), base_to_reg(), bb_estimate_probability_locally(), bb_ok_for_noce_convert_multiple_sets(), find_comparison_dom_walker::before_dom_children(), break_out_memory_refs(), build_def_use(), calculate_elim_costs_all_insns(), calculate_equiv_gains(), can_assign_to_reg_without_clobbers_p(), can_change_dest_mode(), can_combine_p(), can_decompose_p(), can_eliminate_compare(), canon_address(), canon_condition(), canon_reg_for_combine(), canon_rtx(), canonicalize_address(), canonicalize_address_mult(), canonicalize_condition(), cc_in_cond(), change_address(), change_address_1(), change_zero_ext(), check_and_process_move(), check_cond_move_block(), check_mem_read_rtx(), check_new_reg_p(), check_secondary_memory_needed_p(), check_sibcall_argument_overlap_1(), choose_reload_regs(), cleanup_auto_inc_dec(), clear_storage(), clear_storage_hints(), clz_loc_descriptor(), collect_non_operand_hard_regs(), combinable_i3pat(), combine_instructions(), combine_reaching_defs(), combine_set_extension(), combine_simplify_rtx(), combine_stack_adjustments_for_block(), combine_temp_slots(), combine_var_copies_in_loop_exit(), compare_and_jump_seq(), comparison_operator(), complex_word_subreg_p(), compress_float_constant(), compute_ld_motion_mems(), compute_regs_asm_clobbered(), compute_reload_subreg_offset(), compute_transp(), concat_loc_descriptor(), concatn_loc_descriptor(), cond_exec_get_condition(), cond_exec_process_if_block(), cond_exec_process_insns(), consolidate_reg(), function_reader::consolidate_singletons(), const_double_operand(), const_rtx_hash_1(), const_vec_series_p_1(), const_vector_elt(), const_vector_int_elt(), constrain_operands(), contains_ccmode_rtx_p(), contains_reg_p(), convert_debug_memory_address(), convert_extracted_bit_field(), convert_memory_address_addr_space_1(), convert_mode_scalar(), convert_modes(), convert_move(), copy_blkmode_from_reg(), copy_to_mode_reg(), copy_to_reg(), copy_value(), copyprop_hardreg_forward_1(), create_insn_allocnos(), create_new_invariant(), cse_cc_succs(), cse_change_cc_mode(), cse_condition_code_reg(), cse_extended_basic_block(), cse_insn(), cse_process_note_1(), cselib_add_permanent_equiv(), cselib_expand_value_rtx_1(), cselib_hash_plus_const_int(), cselib_hash_rtx(), cselib_invalidate_mem(), cselib_invalidate_regno(), cselib_invalidate_rtx(), cselib_invalidated_by_call_p(), cselib_lookup_1(), cselib_lookup_mem(), cselib_record_autoinc_cb(), cselib_record_sets(), cselib_redundant_set_p(), cselib_reg_set_mode(), cselib_reset_table(), cselib_subst_to_values(), cst_pool_loc_descr(), curr_insn_transform(), dataflow_set_equiv_regs(), dead_debug_insert_temp(), dead_debug_promote_uses(), dead_or_predicable(), debug_lowpart_subreg(), decl_overlaps_hard_reg_set_p(), decl_piece_bitsize(), decl_piece_varloc_ptr(), decode_asm_operands(), decompose(), decompose_mem_address(), decompose_multiword_subregs(), decompose_register(), decrease_live_ranges_number(), default_memtag_set_tag(), default_unspec_may_trap_p(), delegitimize_mem_from_attrs(), delete_output_reload(), delete_trivially_dead_insns(), delete_unmarked_insns(), determine_block_size(), df_ref_change_reg_with_loc(), df_ref_record(), df_word_lr_mark_ref(), distribute_and_simplify_rtx(), do_compare_rtx_and_jump(), do_input_reload(), do_jump(), do_local_cprop(), do_output_reload(), do_remat(), do_store_flag(), do_SUBST(), doloop_modify(), doloop_simplify_count(), drop_writeback(), dw_loc_list_1(), dwarf2out_frame_debug_cfa_expression(), dwarf2out_frame_debug_cfa_offset(), dwarf2out_frame_debug_cfa_val_expression(), dwarf2out_frame_debug_expr(), dwf_cfa_reg(), eliminate_constant_term(), eliminate_partially_redundant_loads(), eliminate_regs_1(), eliminate_regs_in_insn(), eliminate_regs_in_insn(), elimination_effects(), emit_add3_insn(), address_reload_context::emit_autoinc(), emit_block_cmp_via_loop(), emit_block_move(), emit_block_move_via_loop(), emit_block_move_via_oriented_loop(), emit_cmp_and_jump_insns(), emit_conditional_add(), emit_conditional_move(), emit_conditional_move_1(), emit_group_load_1(), emit_group_load_into_temps(), emit_group_move_into_temps(), emit_group_store(), emit_inc(), emit_input_reload_insns(), emit_libcall_block_1(), emit_library_call_value_1(), emit_move_change_mode(), emit_move_insn(), emit_move_insn_1(), emit_note_insn_var_location(), emit_output_reload_insns(), emit_partition_copy(), emit_push_insn(), emit_reload_insns(), emit_spill_move(), emit_store_flag(), emit_store_flag_1(), emit_store_flag_force(), emit_store_flag_int(), emit_storent_insn(), entry_register(), const_double_hasher::equal(), const_fixed_hasher::equal(), const_poly_int_hasher::equal(), cselib_hasher::equal(), equiv_address_substitution(), equiv_constant(), equivalent_reg_at_start(), exact_int_to_float_conversion_p(), exp_equiv_p(), expand_abs(), expand_and(), expand_arith_overflow_result_store(), expand_asm_stmt(), expand_assignment(), expand_atomic_compare_and_swap(), expand_atomic_exchange(), expand_atomic_fetch_op(), expand_atomic_fetch_op_no_fallback(), expand_atomic_load(), expand_atomic_store(), expand_atomic_test_and_set(), expand_binop(), expand_binop_directly(), expand_builtin_apply(), expand_builtin_atomic_compare_exchange(), expand_builtin_bswap(), expand_builtin_extract_return_addr(), expand_builtin_feclear_feraise_except(), expand_builtin_fegetround(), expand_builtin_goacc_parlevel_id_size(), expand_builtin_init_dwarf_reg_sizes(), expand_builtin_interclass_mathfn(), expand_builtin_issignaling(), expand_builtin_memcmp(), expand_builtin_powi(), expand_builtin_stpcpy_1(), expand_builtin_strcmp(), expand_builtin_strlen(), expand_builtin_strncmp(), expand_builtin_thread_pointer(), expand_builtin_unop(), expand_call(), expand_clobber(), expand_compare_and_swap_loop(), expand_compound_operation(), expand_cond_expr_using_cmove(), expand_copysign(), expand_debug_expr(), expand_debug_locations(), expand_debug_parm_decl(), expand_debug_source_expr(), expand_dec(), expand_divmod(), expand_doubleword_mult(), expand_expr_addr_expr(), expand_expr_addr_expr_1(), expand_expr_force_mode(), expand_expr_real_1(), expand_expr_real_2(), expand_field_assignment(), expand_fix(), expand_fixed_convert(), expand_float(), expand_fn_using_insn(), expand_function_end(), expand_function_start(), expand_gimple_stmt_1(), expand_HWASAN_CHOOSE_TAG(), expand_ifn_atomic_compare_exchange(), expand_ifn_atomic_compare_exchange_into_call(), expand_inc(), expand_movstr(), expand_mult(), expand_mult_const(), expand_parity(), expand_POPCOUNT(), expand_return(), expand_SET_EDOM(), expand_sfix_optab(),