• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/lib/gcc/arm-brcm-linux-uclibcgnueabi/4.5.3/plugin/include/

Lines Matching refs:loop

1 /* Natural loop functions
46 /* The structure describing a bound on number of iterations of a loop. */
61 /* True if the statement will cause the loop to be leaved the (at most)
70 /* Description of the loop exit. */
76 /* Previous and next exit in the list of the exits of the loop. */
84 typedef struct loop *loop_p;
99 /* Structure to hold information for each natural loop. */
100 struct GTY ((chain_next ("%h.next"))) loop {
104 /* Number of loop insns. */
107 /* Basic block of loop header. */
110 /* Basic block of loop latch. */
113 /* For loop unrolling/peeling decision. */
119 /* Number of blocks contained within the loop. */
122 /* Superloops of the loop, starting with the outermost loop. */
125 /* The first inner (child) loop or NULL if innermost loop. */
126 struct loop *inner;
128 /* Link to the next (sibling) loop. */
129 struct loop *next;
134 /* The number of times the latch of the loop is executed.
141 /* An integer guaranteed to bound the number of iterations of the loop
145 /* An integer giving the expected number of iterations of the loop. */
155 /* Upper bound on number of iterations of a loop. */
158 /* Head of the cyclic list of the exits of the loop. */
161 /* True if the loop can be parallel. */
164 /* The single induction variable of the loop when the loop is in
169 /* Flags for state of loop structure. */
194 /* Maps edges to the list of their descriptions as loop exits. Edges
199 /* Pointer to root of loop hierarchy tree. */
200 struct loop *tree_root;
208 void (*)(const struct loop *, FILE *, int), int);
209 extern void flow_loop_dump (const struct loop *, FILE *,
210 void (*)(const struct loop *, FILE *, int), int);
211 struct loop *alloc_loop (void);
212 extern void flow_loop_free (struct loop *);
213 int flow_loop_nodes_find (basic_block, struct loop *);
221 extern void flow_loop_tree_node_add (struct loop *, struct loop *);
222 extern void flow_loop_tree_node_remove (struct loop *);
223 extern void add_loop (struct loop *, struct loop *);
224 extern bool flow_loop_nested_p (const struct loop *, const struct loop *);
225 extern bool flow_bb_inside_loop_p (const struct loop *, const_basic_block);
226 extern struct loop * find_common_loop (struct loop *, struct loop *);
227 struct loop *superloop_at_depth (struct loop *, unsigned);
229 extern unsigned tree_num_loop_insns (struct loop *, struct eni_weights_d *);
230 extern int num_loop_insns (const struct loop *);
231 extern int average_num_loop_insns (const struct loop *);
232 extern unsigned get_loop_level (const struct loop *);
233 extern bool loop_exit_edge_p (const struct loop *, const_edge);
234 extern bool is_loop_exit (struct loop *, basic_block);
238 extern basic_block *get_loop_body (const struct loop *);
239 extern unsigned get_loop_body_with_size (const struct loop *, basic_block *,
241 extern basic_block *get_loop_body_in_dom_order (const struct loop *);
242 extern basic_block *get_loop_body_in_bfs_order (const struct loop *);
243 extern basic_block *get_loop_body_in_custom_order (const struct loop *,
246 extern VEC (edge, heap) *get_loop_exit_edges (const struct loop *);
247 edge single_exit (const struct loop *);
248 extern unsigned num_loop_branches (const struct loop *);
250 extern edge loop_preheader_edge (const struct loop *);
251 extern edge loop_latch_edge (const struct loop *);
253 extern void add_bb_to_loop (basic_block, struct loop *);
256 extern void cancel_loop_tree (struct loop *);
257 extern void delete_loop (struct loop *);
265 basic_block create_preheader (struct loop *, int);
272 extern bool just_once_each_iteration_p (const struct loop *, const_basic_block);
273 gcov_type expected_loop_iterations_unbounded (const struct loop *);
274 extern unsigned expected_loop_iterations (const struct loop *);
277 void estimate_numbers_of_iterations_loop (struct loop *);
278 HOST_WIDE_INT estimated_loop_iterations_int (struct loop *, bool);
279 bool estimated_loop_iterations (struct loop *, bool, double_int *);
282 extern bool can_duplicate_loop_p (const struct loop *loop);
292 extern struct loop *create_empty_loop_on_edge (edge, tree, tree, tree, tree,
293 tree *, tree *, struct loop *);
294 extern struct loop * duplicate_loop (struct loop *, struct loop *);
295 extern void duplicate_subloops (struct loop *, struct loop *);
296 extern bool duplicate_loop_to_header_edge (struct loop *, edge,
299 extern struct loop *loopify (edge, edge,
302 struct loop * loop_version (struct loop *, void *,
305 void scale_loop_frequencies (struct loop *, int, int);
350 /* The description of an exit from the loop and of the number of iterations
355 /* The edge out of the loop. */
362 loop. */
365 /* True if the loop iterates the constant number of times. */
377 /* Assumptions under that the loop ends before reaching the latch,
381 /* Condition under that the loop is infinite. */
390 /* The number of iterations of the loop. */
394 extern void iv_analysis_loop_init (struct loop *);
400 extern void find_simple_exit (struct loop *, struct niter_desc *);
403 extern struct niter_desc *get_simple_loop_desc (struct loop *loop);
404 extern void free_simple_loop_desc (struct loop *loop);
407 simple_loop_desc (struct loop *loop)
409 return (struct niter_desc *) loop->aux;
412 /* Accessors for the loop structures. */
414 /* Returns the loop with index NUM from current_loops. */
416 static inline struct loop *
425 loop_depth (const struct loop *loop)
427 return VEC_length (loop_p, loop->superloops);
431 loop. */
433 static inline struct loop *
434 loop_outer (const struct loop *loop)
436 unsigned n = VEC_length (loop_p, loop->superloops);
441 return VEC_index (loop_p, loop->superloops, n - 1);
456 ones and the fake loop that forms the root of the loop tree). */
496 /* Flags for loop iteration. */
500 LI_INCLUDE_ROOT = 1, /* Include the fake root of the loop tree. */
513 /* The index of the actual loop. */
518 fel_next (loop_iterator *li, loop_p *loop)
525 *loop = get_loop (anum);
526 if (*loop)
531 *loop = NULL;
535 fel_init (loop_iterator *li, loop_p *loop, unsigned flags)
537 struct loop *aloop;
545 *loop = NULL;
608 fel_next (li, loop);
629 /* Register pressure estimation for induction variable optimizations & loop
643 UAP_PEEL = 1, /* Enables loop peeling. */
651 extern bool finite_loop_p (struct loop *);