/dflybsd-src/contrib/gcc-8.0/gcc/ |
H A D | cfgloop.c | 62 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 D | hw-doloop.c | 40 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 D | cfgloop.h | 94 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 D | cfgloopmanip.c | 35 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 D | loop-unroll.c | 166 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 D | tree-ssa-loop-unswitch.c | 78 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 D | cfgloopmanip.h | 38 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 D | tree-ssa-loop-niter.h | 24 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 D | tree-ssa-loop-im.c | 75 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 D | tree-ssa-loop-ivcanon.c | 84 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 D | tree-ssa-loop-ch.c | 48 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 D | omp-offload.c | 383 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 D | tree-scalar-evolution.c | 285 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 D | gimple-loop-jam.c | 106 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 D | tree-ssa-loop-manip.c | 61 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 D | tree-scalar-evolution.h | 24 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 D | cfgloop.c | 66 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 D | hw-doloop.c | 46 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 D | cfgloop.h | 87 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 D | cfgloopmanip.c | 35 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 D | loop-unroll.c | 130 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 D | tree-ssa-loop-unswitch.c | 72 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 D | tree-ssa-loop-ivcanon.c | 71 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 D | tree-ssa-loop-im.c | 79 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 D | tree-scalar-evolution.c | 268 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 …]
|