Home | History | Annotate | Download | only in info

Lines Matching full:loops

92 * Loop Analysis and Representation:: Analysis and representation of loops
3447 expand to nontrivial sequences of insns). With `-funswitch-loops'
3466 invariant out of the loops. To achieve this, a duplicate of the
3478 Vectorization. This pass transforms loops to operate on vector
3495 This pass applies if-conversion to simple loops to help vectorizer.
3496 We identify if convertible loops, if-convert statements and merge
3633 loops. The pass is located in `tree-ssa-loop.c' and described by
3646 * Removal of empty loops
3648 This pass removes loops with no code in them. The pass is located
3651 * Unrolling of small loops
3653 This pass completely unrolls loops with few iterations. The pass
3660 loops. The pass is located in `tree-ssa-loop-prefetch.c' and
3737 loops--that is left to the loop optimization pass. If MR PRE
3755 level optimizations--unrolling, peeling and unswitching loops--
3757 Replacing of the exit condition of loops by special
3816 This pass looks at innermost loops and reorders their instructions
6000 These nodes represent "infinite" loops. The `LOOP_EXPR_BODY'
6516 appropriate. It is used to vectorize loops with conditions using
6560 * Loops::
6608 File: gccint.info, Node: Empty Statements, Next: Loops, Prev: Statement Sequences, Up: Statements
6623 File: gccint.info, Node: Loops, Next: Selection Statements, Prev: Empty Statements, Up: Statements
6625 10.2.4.4 Loops
6628 At one time loops were expressed in GIMPLE using `LOOP_EXPR', but now
6632 File: gccint.info, Node: Selection Statements, Next: Jumps, Prev: Loops, Up: Statements
7887 11 Analysis and Representation of Loops
7890 GCC provides extensive infrastructure for work with natural loops, i.e.,
7892 chapter describes representation of loops in GCC, both on GIMPLE and in
7898 * Loop representation:: Representation and analysis of loops.
7899 * Loop querying:: Getting information about loops.
7914 This chapter describes the representation of loops in GCC, and functions
7918 updated only by the optimization passes that deal with loops, but some
7924 the loop. Loops with several latches may appear if several loops share
7926 The representation of loops in GCC however allows only loops with a
7927 single latch. During loop analysis, headers of such loops are split and
7930 the latches correspond to sub-loops or to control flow in a single loop.
7937 loops are organized in a containment hierarchy (tree) such that all the
7938 loops immediately contained inside loop L are the children of L in the
7939 tree. This tree is represented by the `struct loops' structure. The
7941 function. Each of the loops is represented in a `struct loop'
7944 corresponding field of the `parray' field of the loops structure.
7947 entries in the `parray' created by deleting loops. The index of a loop
7949 the loops structure.
7953 have one `struct loops' structure initialized at the same time for each
7955 contain the `struct loops' structure, especially if the loop structures
7959 The loops are analyzed through `loop_optimizer_init' function. The
7974 sub-loops, and makes manipulation with the loops significantly
7976 loops are in this shape. Note that with this flag, the "normal"
7981 the strongly connected components that are not natural loops (have
7984 and edges that belong to natural loops that are in such an
7996 The memory occupied by the loops structures should be freed with
8002 can be used to cleanup CFG while updating the loops structures if
8011 The functions to query the information about loops are declared in
8020 basic blocks of the sub-loops).
8022 * `depth': The depth of the loop in the loops tree, i.e., the number
8023 of super-loops of the loop.
8026 the sibling of the loop in the loops tree.
8029 one exit and the loops were analyzed with
8038 * `flow_loops_dump': Dumps the information about loops to a file.
8044 * `loop_preheader_edge': If loops have preheaders, returns the
8051 loop (including its sub-loops).
8053 * `find_common_loop': Finds the common super-loop of two loops.
8063 * `mark_loop_exit_edges': Marks all exit edges of all loops with
8084 The loops tree can be manipulated using the following functions:
8092 * `remove_bb_from_loops': Removes a basic block from loops.
8107 sets loops for the new blocks. This function can only be used on
8116 loops, they are mostly untested in that case, and at the moment, they
8117 are only reliable for the innermost loops:
8153 created at the exits of the loops for the SSA names that are used
8204 Given an SSA name, its behavior in loops can be analyzed using the
8211 whole nest of loops at once. It will try replacing all SSA names by
8212 their SCEV in all loops, including the super-loops of the current loop,
8218 outside unchanged, even if their evolution in the outer loops is known.
8258 loops) is finished, `iv_analysis_done' should be called. The following
8337 `number_of_iterations_in_loop' works only for single-exit loops, and it
8457 * an array of loops `loop_nest' that contains the loops to which the
8474 Lambda is a framework that allows transformations of loops using
8498 `lambda_loopnest_to_gcc_loopnest'. This function will modify the loops
11097 optimizer to find loops quickly.
11105 begins for those loops in which the exit test has been
15998 typically for loops reversed by the loop optimizer when strength
16008 `const_int'; operand 3 is the number of enclosed loops as a
16015 try to modify suitable loops to utilize it. If nested
16635 make loops more efficient. A common example is the 68000 `dbra'
16695 well-behaved loops with a finite number of loop iterations using
27919 pattern for loops containing function calls or branch on table
28004 of loops and be subjected to inter-block scheduling.
30288 mountains of C++ work, load/store hoisting out of loops, alias
32879 * Loops: Loops. (line 6)
34402 Node: Loops284922