65 vec <value_type, va_heap, vl_embed> *
heap;
115inline generic_subrtx_iterator <T>::array_type::~array_type ()
144inline typename T::value_type
145generic_subrtx_iterator <T>::operator * ()
const
167 m_substitute =
false;
174 rtx_type x = T::get_rtx (m_current);
186 ssize_t start = m_bounds[code].start;
189 m_base[m_end++] = T::get_value (src[2].rt_rtx);
191 m_base[m_end++] = T::get_value (src[1].rt_rtx);
192 m_current = T::get_value (src[0].rt_rtx);
197 count = add_subrtxes_to_queue (m_array, m_base, m_end, x);
201 if (m_end > LOCAL_ELEMS)
202 m_base = m_array.heap->address ();
203 m_current = m_base[--m_end];
214 m_current = m_base[--m_end];
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
static unsigned int count[debug_counter_number_of_counters]
Definition dbgcnt.cc:50
T * ggc_alloc(ALONE_CXX_MEM_STAT_INFO)
Definition ggc.h:184
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:725
Definition tree-ssa-loop-niter.cc:64
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:895
#define UNLIKELY(x)
Definition system.h:759
#define LIKELY(x)
Definition system.h:758