|
splay_tree_node< access_record * > * | node_alloc (access_record *) |
|
template<typename Map> |
void | traverse_base_map (Map &map) |
|
void | transform_for_base (int load_size, access_group &group) |
|
void | merge_pairs (insn_list_t &, insn_list_t &, bool load_p, unsigned access_size) |
|
bool | try_fuse_pair (bool load_p, unsigned access_size, insn_info *i1, insn_info *i2) |
|
bool | fuse_pair (bool load_p, unsigned access_size, int writeback, insn_info *i1, insn_info *i2, base_cand &base, const insn_range_info &move_range) |
|
void | track_tombstone (int uid) |
|
bool | track_via_mem_expr (insn_info *, rtx mem, lfs_fields lfs) |
|
◆ def_hash
◆ def_key_t
◆ expr_key_t
◆ pair_fusion_bb_info()
pair_fusion_bb_info::pair_fusion_bb_info |
( |
bb_info * | bb, |
|
|
pair_fusion * | d ) |
|
inline |
◆ ~pair_fusion_bb_info()
pair_fusion_bb_info::~pair_fusion_bb_info |
( |
| ) |
|
|
inline |
◆ cleanup_tombstones()
void pair_fusion_bb_info::cleanup_tombstones |
( |
| ) |
|
|
inline |
◆ fuse_pair()
bool pair_fusion_bb_info::fuse_pair |
( |
bool | load_p, |
|
|
unsigned | access_size, |
|
|
int | writeback, |
|
|
insn_info * | i1, |
|
|
insn_info * | i2, |
|
|
base_cand & | base, |
|
|
const insn_range_info & | move_range ) |
|
inlineprivate |
References store_change_builder::advance(), ALL, cancel_changes(), changes, combine_reg_notes(), confirm_change_group(), copy_rtx(), crtl, d1, d2, base_cand::def, defs, store_change_builder::done(), drop_writeback(), dump_file, dyn_cast(), extract_writebacks(), fixup_debug_uses(), free_EXPR_LIST_node(), base_cand::from_insn, gcc_assert, gcc_checking_assert, gen_tombstone(), store_change_builder::get_change(), i, i1, i2, use::insn, insns, m_pass, MAY_HAVE_DEBUG_INSNS, MEM_P, NULL_RTX, PATTERN(), plus_constant(), refers_to_regno_p(), REG_NOTES, REG_P, REGNO, replace_equiv_address_nv(), strip_offset(), track_tombstone(), try_repurpose_store(), validate_change(), validate_unshare_change(), and XEXP.
Referenced by try_fuse_pair().
◆ merge_pairs()
◆ node_alloc()
◆ track_access()
void pair_fusion_bb_info::track_access |
( |
insn_info * | insn, |
|
|
bool | load, |
|
|
rtx | mem ) |
|
inline |
References any_post_modify_p(), alt_base::base, canon_base_map, def_map, dump_file, encode_lfs(), EXISTING, lfs_fields::fpsimd_p, gcc_assert, gcc_unreachable, GET_CODE, GET_MODE, GET_MODE_SIZE(), GET_RTX_CLASS, lfs_fields::load_p, m_bb, m_pass, MEM_VOLATILE_P, mode_name, node_alloc(), NULL, alt_base::offset, pair_mem_strip_offset(), PATTERN(), pp_formatted_text(), pp_string(), print_dec(), REG_P, REGNO, reload_completed, RTX_AUTOINC, poly_int< N, C >::to_constant(), access_group::track(), track_via_mem_expr(), and XEXP.
Referenced by pair_fusion::process_block().
◆ track_tombstone()
void pair_fusion_bb_info::track_tombstone |
( |
int | uid | ) |
|
|
inlineprivate |
◆ track_via_mem_expr()
bool pair_fusion_bb_info::track_via_mem_expr |
( |
insn_info * | insn, |
|
|
rtx | mem, |
|
|
lfs_fields | lfs ) |
|
inlineprivate |
References DECL_P, dump_file, encode_lfs(), expr_map, lfs_fields::fpsimd_p, get_addr_base_and_unit_offset(), GET_MODE, GET_MODE_SIZE(), lfs_fields::load_p, m_bb, MEM_EXPR, MEM_OFFSET, MEM_OFFSET_KNOWN_P, mode_name, node_alloc(), NULL, print_dec(), print_node_brief(), poly_int< N, C >::to_constant(), and access_group::track().
Referenced by track_access().
◆ transform()
void pair_fusion_bb_info::transform |
( |
| ) |
|
|
inline |
◆ transform_for_base()
void pair_fusion_bb_info::transform_for_base |
( |
int | load_size, |
|
|
access_group & | group ) |
|
inlineprivate |
◆ traverse_base_map()
template<typename Map>
void pair_fusion_bb_info::traverse_base_map |
( |
Map & | map | ) |
|
|
inlineprivate |
◆ try_fuse_pair()
bool pair_fusion_bb_info::try_fuse_pair |
( |
bool | load_p, |
|
|
unsigned | access_size, |
|
|
insn_info * | i1, |
|
|
insn_info * | i2 ) |
|
inlineprivate |
References bitmap_bit_p, cfun, base_cand::def, defs, dump_file, find_reg_note(), first_hazard_after(), fuse_pair(), gcc_assert, gcc_checking_assert, base_cand::hazards, i, i1, i2, use::insn, insns, latest_hazard_before(), m_emitted_tombstone, m_pass, m_tombstone_bitmap, MEM_READONLY_P, NULL_RTX, PATTERN(), refers_to_regno_p(), reg_overlap_mentioned_p(), cand::regno, RTX_FRAME_RELATED_P, and XEXP.
Referenced by merge_pairs().
◆ canon_base_map
◆ def_map
◆ expr_map
◆ m_bb
bb_info* pair_fusion_bb_info::m_bb |
|
private |
◆ m_bitmap_obstack
◆ m_emitted_tombstone
bool pair_fusion_bb_info::m_emitted_tombstone |
|
private |
◆ m_obstack
obstack pair_fusion_bb_info::m_obstack |
|
private |
◆ m_pass
◆ m_tombstone_bitmap
◆ obstack_alignment
const size_t pair_fusion_bb_info::obstack_alignment = sizeof (void *) |
|
static |
The documentation for this struct was generated from the following file: