113 unsigned int multireg_offset)
117 multireg_offset (multireg_offset)
168 : ref_begin (nullptr),
173 has_pre_post_modify (
false),
174 has_volatile_refs (
false),
211template<
typename Base>
215 template<
typename... Args>
218 template<
typename AddFn>
229template<
typename Base>
230template<
typename... Args>
232 : Base (std::forward<Args> (args)...)
238template<
typename Base>
239template<
typename AddFn>
243 ptrdiff_t
count = this->num_refs ();
250 if (
LIKELY (this->ref_iter != this->ref_end))
256template<
typename Base>
260 repeat ([&]() { this->try_to_add_dest (x, flags); });
263template<
typename Base>
267 repeat ([&]() { this->try_to_add_src (x, flags); });
270template<
typename Base>
274 repeat ([&]() { this->try_to_add_pattern (pat); });
277template<
typename Base>
281 repeat ([&]() { this->try_to_add_note (x); });
284template<
typename Base>
288 repeat ([&]() { this->try_to_add_insn (insn, include_notes); });
302 void grow (ptrdiff_t);
void add_src(const_rtx x, unsigned int flags=0)
Definition rtlanal.h:265
void add_insn(const rtx_insn *insn, bool include_notes)
Definition rtlanal.h:286
void repeat(AddFn add)
Definition rtlanal.h:241
void add_note(const_rtx x)
Definition rtlanal.h:279
void add_dest(const_rtx x, unsigned int flags=0)
Definition rtlanal.h:258
growing_rtx_properties(Args...)
Definition rtlanal.h:231
void add_pattern(const_rtx pat)
Definition rtlanal.h:272
bool is_read() const
Definition rtlanal.h:64
bool in_subreg() const
Definition rtlanal.h:90
bool is_clobber() const
Definition rtlanal.h:68
bool is_mem() const
Definition rtlanal.h:59
bool is_reg() const
Definition rtlanal.h:58
bool is_pre_post_modify() const
Definition rtlanal.h:72
bool in_mem_store() const
Definition rtlanal.h:84
unsigned int multireg_offset
Definition rtlanal.h:106
bool in_mem_load() const
Definition rtlanal.h:81
bool is_multireg() const
Definition rtlanal.h:78
bool is_write() const
Definition rtlanal.h:65
machine_mode mode
Definition rtlanal.h:103
bool in_address() const
Definition rtlanal.h:87
unsigned int flags
Definition rtlanal.h:99
bool in_note() const
Definition rtlanal.h:93
unsigned int regno
Definition rtlanal.h:96
rtx_obj_reference()=default
size_t num_refs() const
Definition rtlanal.h:140
rtx_obj_reference * ref_end
Definition rtlanal.h:148
bool has_side_effects() const
Definition rtlanal.h:193
void try_to_add_pattern(const_rtx pat)
Definition rtlanal.cc:2248
void try_to_add_note(const_rtx x)
Definition rtlanal.h:183
rtx_obj_reference * ref_begin
Definition rtlanal.h:146
iterator_range< rtx_obj_reference * > refs() const
Definition rtlanal.h:202
unsigned int has_volatile_refs
Definition rtlanal.h:161
unsigned int has_pre_post_modify
Definition rtlanal.h:157
rtx_properties()
Definition rtlanal.h:167
unsigned int spare
Definition rtlanal.h:164
unsigned int has_call
Definition rtlanal.h:154
void try_to_add_insn(const rtx_insn *insn, bool include_notes)
Definition rtlanal.cc:2306
rtx_obj_reference * ref_iter
Definition rtlanal.h:147
void try_to_add_reg(const_rtx x, unsigned int flags=0)
Definition rtlanal.cc:2095
unsigned int has_asm
Definition rtlanal.h:151
void try_to_add_src(const_rtx x, unsigned int flags=0)
Definition rtlanal.cc:2182
void try_to_add_dest(const_rtx x, unsigned int flags=0)
Definition rtlanal.cc:2115
vec_rtx_properties_base()
Definition rtlanal.h:308
static const size_t SIZE
Definition rtlanal.h:295
~vec_rtx_properties_base()
Definition rtlanal.h:314
void grow(ptrdiff_t)
Definition rtlanal.cc:2373
rtx_obj_reference m_storage[SIZE]
Definition rtlanal.h:305
static unsigned int count[debug_counter_number_of_counters]
Definition dbgcnt.cc:50
#define MACHINE_MODE_BITSIZE
Definition machmode.h:258
const uint16_t IN_SUBREG
Definition rtlanal.h:42
const uint16_t IS_MULTIREG
Definition rtlanal.h:39
static const uint16_t STICKY_FLAGS
Definition rtlanal.h:47
const uint16_t IN_NOTE
Definition rtlanal.h:43
const uint16_t IS_CLOBBER
Definition rtlanal.h:37
const uint16_t IS_READ
Definition rtlanal.h:35
const uint16_t IN_MEM_STORE
Definition rtlanal.h:41
const uint16_t IS_WRITE
Definition rtlanal.h:36
const uint16_t IN_MEM_LOAD
Definition rtlanal.h:40
const uint16_t IS_PRE_POST_MODIFY
Definition rtlanal.h:38
bool vec_series_highpart_p(machine_mode result_mode, machine_mode op_mode, rtx sel)
Definition rtlanal.cc:6996
bool contains_paradoxical_subreg_p(rtx x)
Definition rtlanal.cc:7030
bool vec_series_lowpart_p(machine_mode result_mode, machine_mode op_mode, rtx sel)
Definition rtlanal.cc:7015
const unsigned int MEM_REGNO
Definition rtlanal.h:29
Definition iterator-utils.h:26
#define false
Definition system.h:888
#define UNLIKELY(x)
Definition system.h:763
#define LIKELY(x)
Definition system.h:762