Home
last modified time | relevance | path

Searched refs:loops (Results 1 – 25 of 224) sorted by relevance

123456789

/NextBSD/contrib/gcc/
HDloop-init.c40 struct loops *
43 struct loops *loops = XCNEW (struct loops); in loop_optimizer_init() local
65 if (flow_loops_find (loops) <= 1) in loop_optimizer_init()
68 flow_loops_free (loops); in loop_optimizer_init()
69 free (loops); in loop_optimizer_init()
75 free (loops->cfg.rc_order); in loop_optimizer_init()
76 loops->cfg.rc_order = NULL; in loop_optimizer_init()
77 free (loops->cfg.dfs_order); in loop_optimizer_init()
78 loops->cfg.dfs_order = NULL; in loop_optimizer_init()
82 create_preheaders (loops, CP_SIMPLE_PREHEADERS); in loop_optimizer_init()
[all …]
HDcfgloop.c43 static void flow_loops_cfg_dump (const struct loops *, FILE *);
45 static void flow_loops_level_compute (struct loops *);
53 flow_loops_cfg_dump (const struct loops *loops, FILE *file) in flow_loops_cfg_dump() argument
58 if (! loops->num || ! file) in flow_loops_cfg_dump()
73 if (loops->cfg.dfs_order) in flow_loops_cfg_dump()
77 fprintf (file, "%d ", loops->cfg.dfs_order[i]); in flow_loops_cfg_dump()
83 if (loops->cfg.rc_order) in flow_loops_cfg_dump()
87 fprintf (file, "%d ", loops->cfg.rc_order[i]); in flow_loops_cfg_dump()
153 flow_loops_dump (const struct loops *loops, FILE *file, void (*loop_dump_aux) (const struct loop *,… in flow_loops_dump() argument
158 num_loops = loops->num; in flow_loops_dump()
[all …]
HDcfgloop.h145 struct loops struct
179 extern struct loops *current_loops; argument
182 extern int flow_loops_find (struct loops *);
183 extern void flow_loops_free (struct loops *);
184 extern void flow_loops_dump (const struct loops *, FILE *,
190 void fix_loop_structure (struct loops *, bitmap changed_bbs);
191 void mark_irreducible_loops (struct loops *);
192 void mark_single_exit_loops (struct loops *);
206 extern void mark_loop_exit_edges (struct loops *);
221 extern void cancel_loop_tree (struct loops *, struct loop *);
[all …]
HDcfgloopmanip.c34 static void duplicate_subloops (struct loops *, struct loop *, struct loop *);
35 static void copy_loops_to (struct loops *, struct loop **, int,
43 static void add_loop (struct loops *, struct loop *);
44 static void fix_loop_placements (struct loops *, struct loop *, bool *);
45 static bool fix_bb_placement (struct loops *, basic_block);
46 static void fix_bb_placements (struct loops *, basic_block, bool *);
47 static void place_new_loop (struct loops *, struct loop *);
50 static void unloop (struct loops *, struct loop *, bool *);
100 fix_bb_placement (struct loops *loops, basic_block bb) in fix_bb_placement() argument
104 struct loop *loop = loops->tree_root, *act; in fix_bb_placement()
[all …]
HDtree-ssa-loop-unswitch.c76 static struct loop *tree_unswitch_loop (struct loops *, struct loop *, basic_block,
78 static bool tree_unswitch_single_loop (struct loops *, struct loop *, int);
84 tree_ssa_unswitch_loops (struct loops *loops) in tree_ssa_unswitch_loops() argument
91 num = loops->num; in tree_ssa_unswitch_loops()
96 loop = loops->parray[i]; in tree_ssa_unswitch_loops()
103 changed |= tree_unswitch_single_loop (loops, loop, 0); in tree_ssa_unswitch_loops()
180 tree_unswitch_single_loop (struct loops *loops, struct loop *loop, int num) in tree_unswitch_single_loop() argument
255 nloop = tree_unswitch_loop (loops, loop, bbs[i], cond); in tree_unswitch_single_loop()
268 tree_unswitch_single_loop (loops, nloop, num + 1); in tree_unswitch_single_loop()
269 tree_unswitch_single_loop (loops, loop, num + 1); in tree_unswitch_single_loop()
[all …]
HDloop-unswitch.c82 static struct loop *unswitch_loop (struct loops *, struct loop *,
84 static void unswitch_single_loop (struct loops *, struct loop *, rtx, int);
140 unswitch_loops (struct loops *loops) in unswitch_loops() argument
146 num = loops->num; in unswitch_loops()
151 loop = loops->parray[i]; in unswitch_loops()
158 unswitch_single_loop (loops, loop, NULL_RTX, 0); in unswitch_loops()
161 verify_loop_structure (loops); in unswitch_loops()
262 unswitch_single_loop (struct loops *loops, struct loop *loop, in unswitch_single_loop() argument
354 remove_path (loops, e); in unswitch_single_loop()
362 remove_path (loops, e); in unswitch_single_loop()
[all …]
HDtree-ssa-loop-ivcanon.c162 try_unroll_loop_completely (struct loops *loops ATTRIBUTE_UNUSED, in try_unroll_loop_completely()
240 loops, n_unroll, wont_exit, in try_unroll_loop_completely()
276 canonicalize_loop_induction_variables (struct loops *loops, struct loop *loop, in canonicalize_loop_induction_variables() argument
321 if (try_unroll_loop_completely (loops, loop, exit, niter, ul)) in canonicalize_loop_induction_variables()
334 canonicalize_induction_variables (struct loops *loops) in canonicalize_induction_variables() argument
340 for (i = 1; i < loops->num; i++) in canonicalize_induction_variables()
342 loop = loops->parray[i]; in canonicalize_induction_variables()
345 changed |= canonicalize_loop_induction_variables (loops, loop, in canonicalize_induction_variables()
364 tree_unroll_loops_completely (struct loops *loops, bool may_increase_size) in tree_unroll_loops_completely() argument
371 for (i = 1; i < loops->num; i++) in tree_unroll_loops_completely()
[all …]
HDloop-unroll.c117 static void decide_unrolling_and_peeling (struct loops *, int);
118 static void peel_loops_completely (struct loops *, int);
125 static void peel_loop_simple (struct loops *, struct loop *);
126 static void peel_loop_completely (struct loops *, struct loop *);
127 static void unroll_loop_stupid (struct loops *, struct loop *);
128 static void unroll_loop_constant_iterations (struct loops *, struct loop *);
129 static void unroll_loop_runtime_iterations (struct loops *, struct loop *);
145 unroll_and_peel_loops (struct loops *loops, int flags) in unroll_and_peel_loops() argument
152 peel_loops_completely (loops, flags); in unroll_and_peel_loops()
155 decide_unrolling_and_peeling (loops, flags); in unroll_and_peel_loops()
[all …]
HDtree-ssa-loop-ch.c126 struct loops *loops; in copy_loop_headers() local
135 loops = loop_optimizer_init (LOOPS_HAVE_PREHEADERS in copy_loop_headers()
137 if (!loops) in copy_loop_headers()
141 verify_loop_structure (loops); in copy_loop_headers()
148 for (i = 1; i < loops->num; i++) in copy_loop_headers()
153 loop = loops->parray[i]; in copy_loop_headers()
237 loop_optimizer_finalize (loops); in copy_loop_headers()
HDtree-ssa-loop.c43 struct loops *current_loops = NULL;
47 static struct loops *
50 struct loops *loops; in tree_loop_optimizer_init() local
52 loops = loop_optimizer_init (LOOPS_NORMAL in tree_loop_optimizer_init()
55 if (!loops) in tree_loop_optimizer_init()
60 return loops; in tree_loop_optimizer_init()
HDcfgloopanal.c269 mark_irreducible_loops (struct loops *loops) in mark_irreducible_loops() argument
276 int *queue1 = XNEWVEC (int, last_basic_block + loops->num); in mark_irreducible_loops()
277 int *queue2 = XNEWVEC (int, last_basic_block + loops->num); in mark_irreducible_loops()
290 g = new_graph (last_basic_block + loops->num); in mark_irreducible_loops()
342 for (i = 1; i < (int) loops->num; i++) in mark_irreducible_loops()
343 if (loops->parray[i]) in mark_irreducible_loops()
344 queue1[nq++] = LOOP_REPR (loops->parray[i]); in mark_irreducible_loops()
357 loops->state |= LOOPS_HAVE_MARKED_IRREDUCIBLE_REGIONS; in mark_irreducible_loops()
573 mark_loop_exit_edges (struct loops *loops) in mark_loop_exit_edges() argument
578 if (loops->num <= 1) in mark_loop_exit_edges()
HDtree-flow.h803 void vectorize_loops (struct loops *);
812 void tree_ssa_lim (struct loops *);
813 unsigned int tree_ssa_unswitch_loops (struct loops *);
814 unsigned int canonicalize_induction_variables (struct loops *);
815 unsigned int tree_unroll_loops_completely (struct loops *, bool);
816 unsigned int tree_ssa_prefetch_arrays (struct loops *);
817 unsigned int remove_empty_loops (struct loops *);
818 void tree_ssa_iv_optimize (struct loops *);
825 void estimate_numbers_of_iterations (struct loops *);
833 void free_numbers_of_iterations_estimates (struct loops *);
[all …]
HDcfghooks.h115 struct loops *loops,
167 struct loops *loops,
HDtree-loop-linear.c242 linear_transform_loops (struct loops *loops) in linear_transform_loops() argument
249 for (i = 1; i < loops->num; i++) in linear_transform_loops()
254 struct loop *loop_nest = loops->parray[i]; in linear_transform_loops()
322 before = gcc_loopnest_to_lambda_loopnest (loops, loop_nest, &oldivs, in linear_transform_loops()
HDtree-scalar-evolution.h28 extern void scev_initialize (struct loops *loops);
HDtree-ssa-loop-manip.c593 struct loops *loops, in tree_duplicate_loop_to_header_edge() argument
600 if (!(loops->state & LOOPS_HAVE_SIMPLE_LATCHES)) in tree_duplicate_loop_to_header_edge()
602 if (!(loops->state & LOOPS_HAVE_PREHEADERS)) in tree_duplicate_loop_to_header_edge()
610 if (!duplicate_loop_to_header_edge (loop, e, loops, ndupl, wont_exit, in tree_duplicate_loop_to_header_edge()
840 tree_unroll_loop (struct loops *loops, struct loop *loop, unsigned factor, in tree_unroll_loop() argument
863 new_loop = loop_version (loops, loop, enter_main_cond, NULL, true); in tree_unroll_loop()
886 (loop, loop_latch_edge (loop), loops, factor - 1, in tree_unroll_loop()
956 verify_loop_structure (loops); in tree_unroll_loop()
HDtree-ssa-loop-im.c1397 determine_lsm (struct loops *loops) in determine_lsm() argument
1401 if (!loops->tree_root->inner) in determine_lsm()
1407 loop = loops->tree_root->inner; in determine_lsm()
1420 if (loop == loops->tree_root) in determine_lsm()
1502 tree_ssa_lim_initialize (struct loops *loops) in tree_ssa_lim_initialize() argument
1522 for (loop = loops->tree_root->inner; loop; loop = loop->next) in tree_ssa_lim_initialize()
1545 tree_ssa_lim (struct loops *loops) in tree_ssa_lim() argument
1547 tree_ssa_lim_initialize (loops); in tree_ssa_lim()
1556 determine_lsm (loops); in tree_ssa_lim()
HDtree-vectorizer.c153 (struct loop *, struct loops *, edge);
827 slpeel_tree_duplicate_loop_to_edge_cfg (struct loop *loop, struct loops *loops, in slpeel_tree_duplicate_loop_to_edge_cfg() argument
851 new_loop = duplicate_loop (loops, loop, loop->outer); in slpeel_tree_duplicate_loop_to_edge_cfg()
1068 slpeel_tree_peel_loop_to_edge (struct loop *loop, struct loops *loops, in slpeel_tree_peel_loop_to_edge() argument
1107 if (!(new_loop = slpeel_tree_duplicate_loop_to_edge_cfg (loop, loops, e))) in slpeel_tree_peel_loop_to_edge()
2033 vectorize_loops (struct loops *loops) in vectorize_loops() argument
2050 vect_loops_num = loops->num; in vectorize_loops()
2054 struct loop *loop = loops->parray[i]; in vectorize_loops()
2066 vect_transform_loop (loop_vinfo, loops); in vectorize_loops()
2081 struct loop *loop = loops->parray[i]; in vectorize_loops()
HDtree-ssa-loop-prefetch.c956 loop_prefetch_arrays (struct loops *loops, struct loop *loop) in loop_prefetch_arrays() argument
998 tree_unroll_loop (loops, loop, unroll_factor, in loop_prefetch_arrays()
1014 tree_ssa_prefetch_arrays (struct loops *loops) in tree_ssa_prefetch_arrays() argument
1048 for (i = loops->num - 1; i > 0; i--) in tree_ssa_prefetch_arrays()
1050 loop = loops->parray[i]; in tree_ssa_prefetch_arrays()
1056 unrolled |= loop_prefetch_arrays (loops, loop); in tree_ssa_prefetch_arrays()
/NextBSD/share/examples/perfmon/
HDperfmon.c54 int loops, i, sleeptime; in main() local
68 loops = 50; in main()
92 loops = getnum(optarg, 1, INT_MAX - 1); in main()
110 buf = malloc((loops + 1) * sizeof *buf); in main()
112 err(1, "malloc(%lu)", (unsigned long)(loops +1) * sizeof *buf); in main()
129 for (i = 0; i < loops; i++) { in main()
154 for (i = 1; i <= loops; i++) { in main()
158 printf("total: %f\nmean: %f\n", total, total / loops); in main()
/NextBSD/contrib/gcc/doc/
HDloop.texi13 GCC provides extensive infrastructure for work with natural loops, i.e.,
15 chapter describes representation of loops in GCC, both on GIMPLE and in
20 * Loop representation:: Representation and analysis of loops.
21 * Loop querying:: Getting information about loops.
36 This chapter describes the representation of loops in GCC, and functions
40 updated only by the optimization passes that deal with loops, but some
46 the loop. Loops with several latches may appear if several loops share
48 The representation of loops in GCC however allows only loops with a
49 single latch. During loop analysis, headers of such loops are split and
52 the latches correspond to sub-loops or to control flow in a single loop.
[all …]
/NextBSD/contrib/ntp/lib/isc/
HDhex.c55 unsigned int loops = 0; in isc_hex_totext() local
67 loops++; in isc_hex_totext()
69 (int)((loops + 1) * 2) >= wordlength) in isc_hex_totext()
71 loops = 0; in isc_hex_totext()
HDbase64.c57 unsigned int loops = 0; in isc_base64_totext() local
73 loops++; in isc_base64_totext()
75 (int)((loops + 1) * 4) >= wordlength) in isc_base64_totext()
77 loops = 0; in isc_base64_totext()
/NextBSD/sys/dev/bktr/
HDbktr_audio.c486 int auto_detect, loops; in msp_autodetect()
531 loops = 10; in msp_autodetect()
535 loops++; in msp_autodetect()
536 } while (auto_detect > 0xff && loops < 50); in msp_autodetect()
538 bktr_name(bktr), loops*10, auto_detect); in msp_autodetect()
/NextBSD/contrib/llvm/include/llvm/CodeGen/
HDCalcSpillWeights.h61 const MachineLoopInfo &loops,
64 : MF(mf), LIS(lis), Loops(loops), MBFI(mbfi), normalize(norm) {} in MF()

123456789