Contains information about an rtx or an instruction, including a
list of rtx_obj_references. The storage backing the list needs
to be filled in by assigning to REF_BEGIN and REF_END.
void rtx_properties::try_to_add_dest |
( |
const_rtx | x, |
|
|
unsigned int | flags = 0 ) |
Add a description of destination X to this object. FLAGS is a bitmask
of rtx_obj_reference flags that describe the context.
This routine accepts all rtxes that can legitimately appear in a
SET_DEST.
References GET_CODE, GET_MODE, i, rtx_obj_flags::IN_MEM_LOAD, rtx_obj_flags::IN_MEM_STORE, rtx_obj_flags::IN_SUBREG, rtx_obj_flags::IS_READ, rtx_obj_flags::IS_WRITE, LIKELY, MEM_P, MEM_REGNO, read_modify_subreg_p(), ref_end, ref_iter, REG_P, REGNO, rtx_obj_flags::STICKY_FLAGS, SUBREG_REG, try_to_add_dest(), try_to_add_reg(), try_to_add_src(), UNLIKELY, XEXP, XVECEXP, and XVECLEN.
Referenced by try_to_add_dest(), try_to_add_insn(), try_to_add_pattern(), and try_to_add_src().
void rtx_properties::try_to_add_insn |
( |
const rtx_insn * | insn, |
|
|
bool | include_notes ) |
Try to add a description of INSN to this object, stopping once
the REF_END limit has been reached. INCLUDE_NOTES is true if the
description should include REG_EQUAL and REG_EQUIV notes; all such
references will then be marked with rtx_obj_flags::IN_NOTE.
For calls, this description includes all accesses in
CALL_INSN_FUNCTION_USAGE. It also include all implicit accesses
to global registers by the target function. However, it does not
include clobbers performed by the target function; callers that want
this information should instead use the function_abi interface.
References CALL_INSN_FUNCTION_USAGE, CALL_P, find_reg_note(), GET_CODE, global_reg_set, global_regs, hard_reg_set_empty_p(), rtx_obj_flags::IS_CLOBBER, rtx_obj_flags::IS_READ, rtx_obj_flags::IS_WRITE, MEM_REGNO, NULL_RTX, PATTERN(), ref_end, ref_iter, REG_NOTE_KIND, REG_NOTES, reg_raw_mode, RTL_CONST_CALL_P, RTL_PURE_CALL_P, targetm, try_to_add_dest(), try_to_add_note(), try_to_add_pattern(), try_to_add_src(), and XEXP.
void rtx_properties::try_to_add_src |
( |
const_rtx | x, |
|
|
unsigned int | flags = 0 ) |
Try to add a description of source X to this object, stopping once
the REF_END limit has been reached. FLAGS is a bitmask of
rtx_obj_reference flags that describe the context.
This routine accepts all rtxes that can legitimately appear in a SET_SRC.
References FOR_EACH_SUBRTX, GET_CODE, GET_MODE, has_asm, has_call, has_pre_post_modify, has_volatile_refs, rtx_obj_flags::IN_MEM_LOAD, rtx_obj_flags::IN_SUBREG, rtx_obj_flags::IS_PRE_POST_MODIFY, rtx_obj_flags::IS_READ, MEM_READONLY_P, MEM_REGNO, MEM_VOLATILE_P, ref_end, ref_iter, rtx_obj_flags::STICKY_FLAGS, SUBREG_REG, try_to_add_dest(), try_to_add_reg(), try_to_add_src(), and XEXP.
Referenced by try_to_add_dest(), try_to_add_insn(), try_to_add_note(), try_to_add_pattern(), and try_to_add_src().