65 vec <value_type, va_heap, vl_embed> *
heap;
144inline typename T::value_type
145generic_subrtx_iterator <T>::operator * ()
const
186 ssize_t start =
m_bounds[code].start;
192 m_current = T::get_value (src[0].rt_rtx);
269#define ALL_BOUNDS rtx_all_subrtx_bounds
270#define NONCONST_BOUNDS rtx_nonconst_subrtx_bounds
278#define FOR_EACH_SUBRTX(ITER, ARRAY, X, TYPE) \
279 for (subrtx_iterator ITER (ARRAY, X, TYPE##_BOUNDS); !ITER.at_end (); \
283#define FOR_EACH_SUBRTX_VAR(ITER, ARRAY, X, TYPE) \
284 for (subrtx_var_iterator ITER (ARRAY, X, TYPE##_BOUNDS); !ITER.at_end (); \
290#define FOR_EACH_SUBRTX_PTR(ITER, ARRAY, X, TYPE) \
291 for (subrtx_ptr_iterator ITER (ARRAY, X, TYPE##_BOUNDS); !ITER.at_end (); \
value_type stack[LOCAL_ELEMS]
Definition rtl-iter.h:64
~array_type()
Definition rtl-iter.h:115
vec< value_type, va_heap, vl_embed > * heap
Definition rtl-iter.h:65
array_type()
Definition rtl-iter.h:112
T::value_type value_type
Definition rtl-iter.h:54
bool at_end() const
Definition rtl-iter.h:154
void next()
Definition rtl-iter.h:163
static size_t add_subrtxes_to_queue(array_type &, value_type *, size_t, rtx_type)
Definition rtlanal.cc:127
bool m_skip
Definition rtl-iter.h:99
bool m_substitute
Definition rtl-iter.h:102
array_type & m_array
Definition rtl-iter.h:81
static const size_t LOCAL_ELEMS
Definition rtl-iter.h:53
bool m_done
Definition rtl-iter.h:96
generic_subrtx_iterator(array_type &, value_type, const rtx_subrtx_bound_info *)
Definition rtl-iter.h:128
const rtx_subrtx_bound_info * m_bounds
Definition rtl-iter.h:78
T::rtunion_type rtunion_type
Definition rtl-iter.h:56
value_type m_current
Definition rtl-iter.h:84
value_type operator*() const
Definition rtl-iter.h:145
void skip_subrtxes()
Definition rtl-iter.h:221
value_type * m_base
Definition rtl-iter.h:87
void substitute(value_type)
Definition rtl-iter.h:230
static void free_array(array_type &)
Definition rtlanal.cc:188
T::rtx_type rtx_type
Definition rtl-iter.h:55
static value_type * add_single_to_queue(array_type &, value_type *, size_t, value_type)
Definition rtlanal.cc:86
size_t m_end
Definition rtl-iter.h:90
struct rtx_def * rtx
Definition coretypes.h:57
const struct rtx_def * const_rtx
Definition coretypes.h:58
static unsigned int count[debug_counter_number_of_counters]
Definition dbgcnt.cc:50
rtx_subrtx_bound_info rtx_nonconst_subrtx_bounds[]
Definition rtlanal.cc:63
generic_subrtx_iterator< rtx_var_accessor > subrtx_var_iterator
Definition rtl-iter.h:256
generic_subrtx_iterator< rtx_ptr_accessor > subrtx_ptr_iterator
Definition rtl-iter.h:267
rtx_subrtx_bound_info rtx_all_subrtx_bounds[]
Definition rtlanal.cc:62
bool leaf_code_p(enum rtx_code code)
Definition rtl-iter.h:43
generic_subrtx_iterator< const_rtx_accessor > subrtx_iterator
Definition rtl-iter.h:245
rtx_code
Definition rtl.h:48
#define GET_CODE(RTX)
Definition rtl.h:726
Definition tree-ssa-loop-niter.cc:65
Definition rtl-iter.h:238
const_rtx rtx_type
Definition rtl-iter.h:240
static value_type get_value(rtx_type x)
Definition rtl-iter.h:243
static rtx_type get_rtx(value_type x)
Definition rtl-iter.h:242
const_rtx value_type
Definition rtl-iter.h:239
const rtunion rtunion_type
Definition rtl-iter.h:241
Definition rtl-iter.h:260
rtx rtx_type
Definition rtl-iter.h:262
rtx * value_type
Definition rtl-iter.h:261
static value_type get_value(rtx_type &x)
Definition rtl-iter.h:265
rtunion rtunion_type
Definition rtl-iter.h:263
static rtx_type get_rtx(value_type ptr)
Definition rtl-iter.h:264
unsigned char start
Definition rtl-iter.h:34
unsigned char count
Definition rtl-iter.h:35
Definition rtl-iter.h:249
static value_type get_value(rtx_type x)
Definition rtl-iter.h:254
rtx value_type
Definition rtl-iter.h:250
static rtx_type get_rtx(value_type x)
Definition rtl-iter.h:253
rtx rtx_type
Definition rtl-iter.h:251
rtunion rtunion_type
Definition rtl-iter.h:252
#define false
Definition system.h:888
#define UNLIKELY(x)
Definition system.h:763
#define LIKELY(x)
Definition system.h:762