Home
last modified time | relevance | path

Searched refs:loop (Results 1 – 25 of 501) sorted by relevance

12345678910>>...21

/dflybsd-src/contrib/gcc-8.0/gcc/
H A Dcfgloop.c62 flow_loop_nested_p (const struct loop *outer, const struct loop *loop) in flow_loop_nested_p() argument
66 return (loop_depth (loop) > odepth in flow_loop_nested_p()
67 && (*loop->superloops)[odepth] == outer); in flow_loop_nested_p()
73 struct loop *
74 superloop_at_depth (struct loop *loop, unsigned depth) in superloop_at_depth() argument
76 unsigned ldepth = loop_depth (loop); in superloop_at_depth()
81 return loop; in superloop_at_depth()
83 return (*loop->superloops)[depth]; in superloop_at_depth()
89 get_loop_latch_edges (const struct loop *loop) in get_loop_latch_edges() argument
95 FOR_EACH_EDGE (e, ei, loop->header->preds) in get_loop_latch_edges()
[all …]
H A Dhw-doloop.c40 hwloop_info loop; in dump_hwloops() local
42 for (loop = loops; loop; loop = loop->next) in dump_hwloops()
48 fprintf (dump_file, ";; loop %d: ", loop->loop_no); in dump_hwloops()
49 if (loop->bad) in dump_hwloops()
52 loop->head == NULL ? -1 : loop->head->index, in dump_hwloops()
53 loop->depth, REGNO (loop->iter_reg)); in dump_hwloops()
56 for (ix = 0; loop->blocks.iterate (ix, &b); ix++) in dump_hwloops()
61 for (ix = 0; loop->loops.iterate (ix, &i); ix++) in dump_hwloops()
70 bb_in_loop_p (hwloop_info loop, basic_block bb) in bb_in_loop_p() argument
72 return bitmap_bit_p (loop->block_bitmap, bb->index); in bb_in_loop_p()
[all …]
H A Dcfgloop.h94 typedef struct loop *loop_p;
116 struct GTY ((chain_next ("%h.next"))) loop { struct
143 struct loop *inner; argument
146 struct loop *next; argument
271 loop_constraint_set (struct loop *loop, unsigned c) in loop_constraint_set() argument
273 loop->constraints |= c; in loop_constraint_set()
278 loop_constraint_clear (struct loop *loop, unsigned c) in loop_constraint_clear() argument
280 loop->constraints &= ~c; in loop_constraint_clear()
285 loop_constraint_set_p (struct loop *loop, unsigned c) in loop_constraint_set_p() argument
287 return (loop->constraints & c) == c; in loop_constraint_set_p()
[all …]
H A Dcfgloopmanip.c35 static void copy_loops_to (struct loop **, int,
36 struct loop *);
41 static void fix_loop_placements (struct loop *, bool *);
92 struct loop *loop = current_loops->tree_root, *act; in fix_bb_placement() local
103 if (flow_loop_nested_p (loop, act)) in fix_bb_placement()
104 loop = act; in fix_bb_placement()
107 if (loop == bb->loop_father) in fix_bb_placement()
111 add_bb_to_loop (bb, loop); in fix_bb_placement()
125 fix_loop_placement (struct loop *loop, bool *irred_invalidated) in fix_loop_placement() argument
129 vec<edge> exits = get_loop_exit_edges (loop); in fix_loop_placement()
[all …]
H A Dloop-unroll.c166 static void decide_unroll_stupid (struct loop *, int);
167 static void decide_unroll_constant_iterations (struct loop *, int);
168 static void decide_unroll_runtime_iterations (struct loop *, int);
169 static void unroll_loop_stupid (struct loop *);
171 static void unroll_loop_constant_iterations (struct loop *);
172 static void unroll_loop_runtime_iterations (struct loop *);
173 static struct opt_info *analyze_insns_in_loop (struct loop *);
177 static struct var_to_expand *analyze_insn_to_expand_var (struct loop*, rtx_insn *);
178 static bool referenced_in_one_insn_in_loop_p (struct loop *, rtx, int *);
192 report_unroll (struct loop *loop, location_t locus) in report_unroll() argument
[all …]
H A Dtree-ssa-loop-unswitch.c78 static struct loop *tree_unswitch_loop (struct loop *, basic_block, tree);
79 static bool tree_unswitch_single_loop (struct loop *, int);
80 static tree tree_may_unswitch_on (basic_block, struct loop *);
81 static bool tree_unswitch_outer_loop (struct loop *);
82 static edge find_loop_guard (struct loop *);
83 static bool empty_bb_without_guard_p (struct loop *, basic_block);
84 static bool used_outside_loop_p (struct loop *, tree);
85 static void hoist_guard (struct loop *, edge);
86 static bool check_exit_phi (struct loop *);
87 static tree get_vop_from_header (struct loop *);
[all …]
H A Dcfgloopmanip.h38 extern void place_new_loop (struct function *, struct loop *);
39 extern void add_loop (struct loop *, struct loop *);
40 extern void scale_loop_frequencies (struct loop *, profile_probability);
41 extern void scale_loop_profile (struct loop *, profile_probability, gcov_type);
43 extern struct loop *create_empty_loop_on_edge (edge, tree, tree, tree, tree,
44 tree *, tree *, struct loop *);
45 extern struct loop *loopify (edge, edge,
48 extern void unloop (struct loop *, bool *, bitmap);
49 extern void copy_loop_info (struct loop *loop, struct loop *target);
50 extern struct loop * duplicate_loop (struct loop *, struct loop *,
[all …]
H A Dtree-ssa-loop-niter.h24 extern tree simplify_using_initial_conditions (struct loop *, tree);
25 extern bool loop_only_exit_p (const struct loop *, const_edge);
26 extern bool number_of_iterations_exit (struct loop *, edge,
29 extern bool number_of_iterations_exit_assumptions (struct loop *, edge,
32 extern tree find_loop_niter (struct loop *, edge *);
33 extern bool finite_loop_p (struct loop *);
34 extern tree loop_niter_by_eval (struct loop *, edge);
35 extern tree find_loop_niter_by_eval (struct loop *, edge *);
36 extern bool estimated_loop_iterations (struct loop *, widest_int *);
37 extern HOST_WIDE_INT estimated_loop_iterations_int (struct loop *);
[all …]
H A Dtree-ssa-loop-im.c75 struct loop *max_loop; /* The outermost loop in that the statement
78 struct loop *tgt_loop; /* The loop out of that we want to move the
81 struct loop *always_executed_in;
202 static bool ref_indep_loop_p (struct loop *, im_mem_ref *);
203 static bool ref_always_accessed_p (struct loop *, im_mem_ref *, bool);
210 #define ALWAYS_EXECUTED_IN(BB) ((struct loop *) (BB)->aux)
372 static struct loop *
373 outermost_invariant_loop (tree def, struct loop *loop) in outermost_invariant_loop() argument
377 struct loop *max_loop; in outermost_invariant_loop()
381 return superloop_at_depth (loop, 1); in outermost_invariant_loop()
[all …]
H A Dtree-ssa-loop-ivcanon.c84 create_canonical_iv (struct loop *loop, edge exit, tree niter,
95 fprintf (dump_file, "Added canonical iv to loop %d, ", loop->num);
117 NULL_TREE, loop,
163 constant_after_peeling (tree op, gimple *stmt, struct loop *loop) in constant_after_peeling() argument
185 && !constant_after_peeling (TREE_OPERAND (base, 1), stmt, loop)) in constant_after_peeling()
195 if (loop_containing_stmt (stmt) != loop) in constant_after_peeling()
197 tree ev = analyze_scalar_evolution (loop, op); in constant_after_peeling()
213 tree_estimate_loop_size (struct loop *loop, edge exit, edge edge_to_cancel, in tree_estimate_loop_size() argument
216 basic_block *body = get_loop_body (loop); in tree_estimate_loop_size()
220 vec<basic_block> path = get_loop_hot_path (loop); in tree_estimate_loop_size()
[all …]
H A Dtree-ssa-loop-ch.c48 should_duplicate_loop_header_p (basic_block header, struct loop *loop, in should_duplicate_loop_header_p() argument
60 if (optimize_loop_for_size_p (loop) in should_duplicate_loop_header_p()
61 && !loop->force_vectorize) in should_duplicate_loop_header_p()
80 if (flow_bb_inside_loop_p (loop, EDGE_SUCC (header, 0)->dest) in should_duplicate_loop_header_p()
81 && flow_bb_inside_loop_p (loop, EDGE_SUCC (header, 1)->dest)) in should_duplicate_loop_header_p()
86 loop->num); in should_duplicate_loop_header_p()
92 if (header != loop->header && !single_pred_p (header)) in should_duplicate_loop_header_p()
153 do_while_loop_p (struct loop *loop) in do_while_loop_p() argument
155 gimple *stmt = last_stmt (loop->latch); in do_while_loop_p()
164 loop->num); in do_while_loop_p()
[all …]
H A Domp-offload.c383 struct loop *parent = bb->loop_father; in oacc_xform_loop()
384 struct loop *body = parent->inner; in oacc_xform_loop()
706 oacc_loop *loop = XCNEW (oacc_loop); in new_oacc_loop_raw() local
708 loop->parent = parent; in new_oacc_loop_raw()
712 loop->sibling = parent->child; in new_oacc_loop_raw()
713 parent->child = loop; in new_oacc_loop_raw()
716 loop->loc = loc; in new_oacc_loop_raw()
717 return loop; in new_oacc_loop_raw()
735 oacc_loop *loop = new_oacc_loop_raw (parent, gimple_location (marker)); in new_oacc_loop() local
737 loop->marker = marker; in new_oacc_loop()
[all …]
H A Dtree-scalar-evolution.c285 static tree analyze_scalar_evolution_1 (struct loop *, tree);
286 static tree analyze_scalar_evolution_for_address_of (struct loop *loop,
396 loop_p def_loop, loop; in chrec_contains_symbols_defined_in_loop() local
403 loop = get_loop (cfun, loop_nb); in chrec_contains_symbols_defined_in_loop()
408 if (loop == def_loop || flow_loop_nested_p (loop, def_loop)) in chrec_contains_symbols_defined_in_loop()
470 compute_overall_effect_of_inner_loop (struct loop *loop, tree evolution_fn) in compute_overall_effect_of_inner_loop() argument
479 struct loop *inner_loop = get_chrec_loop (evolution_fn); in compute_overall_effect_of_inner_loop()
481 if (inner_loop == loop in compute_overall_effect_of_inner_loop()
482 || flow_loop_nested_p (loop, inner_loop)) in compute_overall_effect_of_inner_loop()
496 if (chrec_contains_symbols_defined_in_loop (res, loop->num)) in compute_overall_effect_of_inner_loop()
[all …]
H A Dgimple-loop-jam.c106 merge_loop_tree (struct loop *loop, struct loop *old) in merge_loop_tree() argument
110 struct loop *subloop; in merge_loop_tree()
116 n = get_loop_body_with_size (loop, bbs, n_basic_blocks_for_fn (cfun)); in merge_loop_tree()
128 add_bb_to_loop (bbs[i], loop); in merge_loop_tree()
137 flow_loop_tree_node_add (loop, subloop); in merge_loop_tree()
150 loop->num_nodes = n; in merge_loop_tree()
189 unroll_jam_possible_p (struct loop *outer, struct loop *loop) in unroll_jam_possible_p() argument
198 if (!empty_block_p (loop->latch)) in unroll_jam_possible_p()
201 if (!single_exit (loop)) in unroll_jam_possible_p()
205 if (outer->inner != loop || loop->next) in unroll_jam_possible_p()
[all …]
H A Dtree-ssa-loop-manip.c61 create_iv (tree base, tree step, tree var, struct loop *loop, in create_iv() argument
71 edge pe = loop_preheader_edge (loop); in create_iv()
138 phi = create_phi_node (vb, loop->header); in create_iv()
139 add_phi_arg (phi, initial, loop_preheader_edge (loop), UNKNOWN_LOCATION); in create_iv()
140 add_phi_arg (phi, va, loop_latch_edge (loop), UNKNOWN_LOCATION); in create_iv()
146 static inline struct loop *
147 find_sibling_superloop (struct loop *use_loop, struct loop *def_loop) in find_sibling_superloop()
186 struct loop *def_loop = def_bb->loop_father; in compute_live_loop_exits()
198 struct loop *use_loop = use_bb->loop_father; in compute_live_loop_exits()
224 struct loop *pred_loop = pred->loop_father; in compute_live_loop_exits()
[all …]
H A Dtree-scalar-evolution.h24 extern tree number_of_latch_executions (struct loop *);
25 extern gcond *get_loop_exit_condition (const struct loop *);
32 extern tree analyze_scalar_evolution (struct loop *, tree);
33 extern tree instantiate_scev (edge, struct loop *, tree);
34 extern tree resolve_mixers (struct loop *, tree, bool *);
36 extern void final_value_replacement_loop (struct loop *);
39 extern bool simple_iv_with_niters (struct loop *, struct loop *, tree,
41 extern bool simple_iv (struct loop *, struct loop *, tree, struct affine_iv *,
43 extern bool iv_can_overflow_p (struct loop *, tree, tree, tree);
44 extern tree compute_overall_effect_of_inner_loop (struct loop *, tree);
[all …]
/dflybsd-src/contrib/gcc-4.7/gcc/
H A Dcfgloop.c66 flow_loop_nested_p (const struct loop *outer, const struct loop *loop) in flow_loop_nested_p() argument
70 return (loop_depth (loop) > odepth in flow_loop_nested_p()
71 && VEC_index (loop_p, loop->superloops, odepth) == outer); in flow_loop_nested_p()
77 struct loop *
78 superloop_at_depth (struct loop *loop, unsigned depth) in superloop_at_depth() argument
80 unsigned ldepth = loop_depth (loop); in superloop_at_depth()
85 return loop; in superloop_at_depth()
87 return VEC_index (loop_p, loop->superloops, depth); in superloop_at_depth()
93 get_loop_latch_edges (const struct loop *loop) in VEC()
99 FOR_EACH_EDGE (e, ei, loop->header->preds) in VEC()
[all …]
H A Dhw-doloop.c46 hwloop_info loop; in dump_hwloops() local
48 for (loop = loops; loop; loop = loop->next) in dump_hwloops()
54 fprintf (dump_file, ";; loop %d: ", loop->loop_no); in dump_hwloops()
55 if (loop->bad) in dump_hwloops()
58 loop->head == NULL ? -1 : loop->head->index, in dump_hwloops()
59 loop->depth, REGNO (loop->iter_reg)); in dump_hwloops()
62 for (ix = 0; VEC_iterate (basic_block, loop->blocks, ix, b); ix++) in dump_hwloops()
67 for (ix = 0; VEC_iterate (hwloop_info, loop->loops, ix, i); ix++) in dump_hwloops()
76 bb_in_loop_p (hwloop_info loop, basic_block bb) in bb_in_loop_p() argument
78 return bitmap_bit_p (loop->block_bitmap, bb->index); in bb_in_loop_p()
[all …]
H A Dcfgloop.h87 typedef struct loop *loop_p;
103 struct GTY ((chain_next ("%h.next"))) loop { struct
129 struct loop *inner; argument
132 struct loop *next; argument
203 struct loop *tree_root;
211 void (*)(const struct loop *, FILE *, int), int);
212 extern void flow_loop_dump (const struct loop *, FILE *,
213 void (*)(const struct loop *, FILE *, int), int);
214 struct loop *alloc_loop (void);
215 extern void flow_loop_free (struct loop *);
[all …]
H A Dcfgloopmanip.c35 static void copy_loops_to (struct loop **, int,
36 struct loop *);
41 static void fix_loop_placements (struct loop *, bool *);
44 static void unloop (struct loop *, bool *);
95 struct loop *loop = current_loops->tree_root, *act; in fix_bb_placement() local
106 if (flow_loop_nested_p (loop, act)) in fix_bb_placement()
107 loop = act; in fix_bb_placement()
110 if (loop == bb->loop_father) in fix_bb_placement()
114 add_bb_to_loop (bb, loop); in fix_bb_placement()
125 fix_loop_placement (struct loop *loop) in fix_loop_placement() argument
[all …]
H A Dloop-unroll.c130 static void decide_peel_simple (struct loop *, int);
131 static void decide_peel_once_rolling (struct loop *, int);
132 static void decide_peel_completely (struct loop *, int);
133 static void decide_unroll_stupid (struct loop *, int);
134 static void decide_unroll_constant_iterations (struct loop *, int);
135 static void decide_unroll_runtime_iterations (struct loop *, int);
136 static void peel_loop_simple (struct loop *);
137 static void peel_loop_completely (struct loop *);
138 static void unroll_loop_stupid (struct loop *);
139 static void unroll_loop_constant_iterations (struct loop *);
[all …]
H A Dtree-ssa-loop-unswitch.c72 static struct loop *tree_unswitch_loop (struct loop *, basic_block, tree);
73 static bool tree_unswitch_single_loop (struct loop *, int);
74 static tree tree_may_unswitch_on (basic_block, struct loop *);
82 struct loop *loop; in tree_ssa_unswitch_loops() local
86 FOR_EACH_LOOP (li, loop, LI_ONLY_INNERMOST) in tree_ssa_unswitch_loops()
89 fprintf (dump_file, ";; Considering loop %d\n", loop->num); in tree_ssa_unswitch_loops()
92 if (optimize_loop_for_size_p (loop)) in tree_ssa_unswitch_loops()
100 if (tree_num_loop_insns (loop, &eni_size_weights) in tree_ssa_unswitch_loops()
108 changed |= tree_unswitch_single_loop (loop, 0); in tree_ssa_unswitch_loops()
120 tree_may_unswitch_on (basic_block bb, struct loop *loop) in tree_may_unswitch_on() argument
[all …]
H A Dtree-ssa-loop-ivcanon.c71 create_canonical_iv (struct loop *loop, edge exit, tree niter) in create_canonical_iv() argument
81 fprintf (dump_file, "Added canonical iv to loop %d, ", loop->num); in create_canonical_iv()
103 NULL_TREE, loop, in create_canonical_iv()
116 tree_num_loop_insns (struct loop *loop, eni_weights *weights) in tree_num_loop_insns() argument
118 basic_block *body = get_loop_body (loop); in tree_num_loop_insns()
122 for (i = 0; i < loop->num_nodes; i++) in tree_num_loop_insns()
150 constant_after_peeling (tree op, gimple stmt, struct loop *loop) in constant_after_peeling() argument
174 && !constant_after_peeling (TREE_OPERAND (base, 1), stmt, loop)) in constant_after_peeling()
184 if (!simple_iv (loop, loop_containing_stmt (stmt), op, &iv, false)) in constant_after_peeling()
197 tree_estimate_loop_size (struct loop *loop, edge exit, struct loop_size *size) in tree_estimate_loop_size() argument
[all …]
H A Dtree-ssa-loop-im.c79 struct loop *max_loop; /* The outermost loop in that the statement
82 struct loop *tgt_loop; /* The loop out of that we want to move the
85 struct loop *always_executed_in;
190 static bool ref_indep_loop_p (struct loop *, mem_ref_p);
197 #define ALWAYS_EXECUTED_IN(BB) ((struct loop *) (BB)->aux)
443 static struct loop *
444 outermost_invariant_loop (tree def, struct loop *loop) in outermost_invariant_loop() argument
448 struct loop *max_loop; in outermost_invariant_loop()
452 return superloop_at_depth (loop, 1); in outermost_invariant_loop()
457 return superloop_at_depth (loop, 1); in outermost_invariant_loop()
[all …]
H A Dtree-scalar-evolution.c268 static tree analyze_scalar_evolution_1 (struct loop *, tree, tree);
383 loop_p def_loop, loop; in chrec_contains_symbols_defined_in_loop() local
390 loop = get_loop (loop_nb); in chrec_contains_symbols_defined_in_loop()
395 if (loop == def_loop || flow_loop_nested_p (loop, def_loop)) in chrec_contains_symbols_defined_in_loop()
457 compute_overall_effect_of_inner_loop (struct loop *loop, tree evolution_fn) in compute_overall_effect_of_inner_loop() argument
466 struct loop *inner_loop = get_chrec_loop (evolution_fn); in compute_overall_effect_of_inner_loop()
468 if (inner_loop == loop in compute_overall_effect_of_inner_loop()
469 || flow_loop_nested_p (loop, inner_loop)) in compute_overall_effect_of_inner_loop()
483 if (chrec_contains_symbols_defined_in_loop (res, loop->num)) in compute_overall_effect_of_inner_loop()
484 res = instantiate_parameters (loop, res); in compute_overall_effect_of_inner_loop()
[all …]

12345678910>>...21