27 class insn_range_info;
36 rtl_ssa::def_info *
def;
116 machine_mode mode) = 0;
172 rtx regs[2],
bool load_p) = 0;
176 const rtl_ssa::insn_range_info
178 int initial_writeback,
179 rtx *writeback_effect,
180 rtl_ssa::def_info **add_def,
181 rtl_ssa::def_info *base_def,
183 unsigned access_size);
187 unsigned access_size,
static hash_table< insn_hasher > * insns
Definition gentarget-def.cc:53
writeback_type
Definition pair-fusion.h:78
rtx offset
Definition postreload.cc:691
Definition pair-fusion.cc:99
Definition pair-fusion.h:34
base_cand(rtl_ssa::def_info *def, int insn)
Definition pair-fusion.h:65
int from_insn
Definition pair-fusion.h:46
base_cand(rtl_ssa::def_info *def)
Definition pair-fusion.h:68
bool viable() const
Definition pair-fusion.cc:84
rtl_ssa::def_info * def
Definition pair-fusion.h:36
rtl_ssa::insn_info * hazards[2]
Definition pair-fusion.h:63
Definition loop-invariant.cc:88
Definition pair-fusion.h:93
rtl_ssa::insn_info * find_trailing_add(rtl_ssa::insn_info *insns[2], const rtl_ssa::insn_range_info &pair_range, int initial_writeback, rtx *writeback_effect, rtl_ssa::def_info **add_def, rtl_ssa::def_info *base_def, poly_int64 initial_offset, unsigned access_size)
Definition pair-fusion.cc:1151
pair_fusion()
Definition pair-fusion.cc:107
void process_block(rtl_ssa::bb_info *bb)
Definition pair-fusion.cc:3080
int get_viable_bases(rtl_ssa::insn_info *insns[2], vec< base_cand > &base_cands, rtx cand_mems[2], unsigned access_size, bool reversed)
Definition pair-fusion.cc:2350
virtual bool track_stores_p()
Definition pair-fusion.h:152
void do_alias_analysis(rtl_ssa::insn_info *alias_hazards[4], alias_walker *walkers[4], bool load_p)
Definition pair-fusion.cc:2259
virtual bool should_handle_writeback(writeback_type which)=0
virtual rtx gen_promote_writeback_pair(rtx wb_effect, rtx mem, rtx regs[2], bool load_p)=0
virtual bool fpsimd_op_p(rtx, machine_mode, bool)
Definition pair-fusion.h:103
void run()
Definition pair-fusion.cc:127
virtual bool track_loads_p()
Definition pair-fusion.h:146
virtual bool pair_mem_in_range_p(HOST_WIDE_INT offset)=0
virtual bool pair_operand_mode_ok_p(machine_mode mode)=0
virtual rtx destructure_pair(rtx regs[2], rtx pattern, bool load_p)=0
virtual bool pair_mem_insn_p(rtx_insn *insn, bool &load_p)=0
virtual bool pair_reg_operand_ok_p(bool load_p, rtx reg_op, machine_mode mode)=0
virtual int pair_mem_alias_check_limit()=0
virtual bool pair_mem_ok_with_policy(rtx base_mem, bool load_p)=0
void try_promote_writeback(rtl_ssa::insn_info *insn, bool load_p)
Definition pair-fusion.cc:2990
~pair_fusion()
Definition pair-fusion.cc:114
virtual rtx gen_pair(rtx *pats, rtx writeback, bool load_p)=0