Lines Matching full:flow
90 * Control Flow:: Maintaining and manipulating the control flow graph.
2200 where flow analysis or alias analysis should show that certain code
3251 sharing clauses, exposing the control flow of most synchronization
3253 the control flow graph. The pass is located in `omp-low.c' and is
3263 * Lower control flow
3273 * Lower exception handling control flow
3277 explicitly represents the control flow involved. After this pass,
3279 statement that may have EH control flow semantics; examine
3281 semantics. Exact control flow may be extracted from
3286 * Build the control flow graph
3369 This pass performs a flow sensitive SSA-based points-to analysis.
3555 eliminate unnecessary control flow statements. It is located in
3562 data and control flow problem is solved. The code transformation
3714 * Cleanup control flow graph
3763 flow graph of a function by propagating constants into conditional
3787 or autodecrement addressing. The pass is located in `flow.c'.
3792 that are related by data flow into single instructions. It
6209 the flow graph (`tree-cfg.c') and OpenMP region building code
6257 File: gccint.info, Node: Tree SSA, Next: Loop Analysis and Representation, Prev: Control Flow, Up: Top
6275 operands (except function calls), it has no control flow structures and
6706 `TRY_FINALLY_EXPR' complicates the flow graph, since the cleanup needs
7012 are defined and documented in `tree-flow.h'.
7029 Data flow analysis and optimization is done on all tree nodes
7036 gather complete data flow information for a local scalar. On the other
7050 Virtual and real operands also have very different data flow
7406 Most of the tree optimizers rely on the data flow information provided
7431 Sometimes, flow of control makes it impossible to determine what is the
7748 3. Compute flow-sensitive aliases
7764 4. Compute flow-insensitive aliases
7930 the latches correspond to sub-loops or to control flow in a single loop.
7977 loop without any control flow inside and with one exit consists of
8502 File: gccint.info, Node: RTL, Next: Control Flow, Prev: Trees, Up: Top
10831 Instruction patterns may not use them. Until the `flow' pass of the
10833 `flow' pass finds cases where registers are incremented or decremented
11048 flow past them. They are placed after unconditional jump
11186 This list is originally set up by the flow analysis pass; it is a null
11187 pointer until then. Flow only adds links for those data dependencies
11188 which can be used for instruction combination. For each insn, the flow
11267 is, in fact, being used, and flow optimization to build an
11268 accurate flow graph.
11299 occurrences by OP. ("Validly" here refers to the data flow of the
11365 single operation for code motion purposes and flow analysis uses
11586 File: gccint.info, Node: Control Flow, Next: Tree SSA, Prev: RTL, Up: Top
11588 13 Control Flow Graph
11591 A control flow graph (CFG) is a data structure built on top of the
11593 abstracting the control flow behavior of a function that is being
11595 basic blocks and edges represent possible transfer of control flow from
11597 control flow graph are defined in `basic-block.h'.
11604 * Maintaining the CFG:: Keeping the control flow graph and up to date.
11608 File: gccint.info, Node: Basic Blocks, Next: Edges, Up: Control Flow
11660 block ends by control flow instruction or last instruction before
11696 File: gccint.info, Node: Edges, Next: Profile information, Prev: Basic Blocks, Up: Control Flow
11701 Edges represent possible control flow transfers from the end of some
11764 There are various reasons why control flow may transfer from one block
11777 they may be freely redirected when the flow graph is not in SSA
11796 exception needs to be handled as control flow instruction.
11828 flow graphs, so these edges need to be handled with special care.
11830 avoid such dense flow graphs by factoring computed jumps. For
11843 which has a much simpler flow graph:
11896 File: gccint.info, Node: Profile information, Next: Maintaining the CFG, Prev: Edges, Up: Control Flow
11905 profile within the flow graph. GCC can handle profile information
11950 basic block, i.e. the probability that control will flow along this
11959 flow graph is no longer maintained.
11961 The probability that control flow arrives via a given edge to its
11979 power of any frequency or probability in the flow graph, it is not
11984 File: gccint.info, Node: Maintaining the CFG, Next: Liveness information, Prev: Profile information, Up: Control Flow
11990 flow graph and all profile information up-to-date. Reconstruction of
11991 the control flow graph after each pass is not an option, since it may be
11996 `basic_block' and `edge' data types to represent control flow. Both
12012 it. However, in principle the control flow graph for the `tree'
12014 a function tree may be expanded without first building a flow graph
12030 iterators provide an integrated abstraction of the flow graph and the
12077 the flow of control, possibly eliminating some edges. This may for
12087 this is best modeled as redirection of edges in the control flow graph
12093 It is also possible that a pass has to insert control flow instruction
12102 flow graph and insert instructions on them. In the RTL representation,
12114 may be useful to find bugs in the control flow graph updating code.
12116 Note that at present, the representation of control flow in the `tree'
12122 File: gccint.info, Node: Liveness information, Prev: Maintaining the CFG, Up: Control Flow
12136 stream and partly in the flow graph. Local information is stored in
12143 Global liveness information is stored in the control flow graph. Each
12146 entry and exit of the basic block. The file `flow.c' contains
12155 before doing any modifications and then ask the data flow module to
12159 This scheme works reliably as long as no control flow graph
12161 flow graph changes is more difficult as normal iterative data flow
16160 control flow is branched to the handler of an exception. There
16706 problems with flow analysis. So instead, a dummy `doloop' insn is
16722 flow pass.
17288 data flow in the program does not suggest that it should try them. For
18044 on the type of instruction being generated, not on data flow between the
29019 assure a steady flow of resources into making more free software.
30106 ignored for years, flow rewrite and lots of further stuff,
31759 * basic-block.h: Control Flow. (line 6)
31899 * CFG, Control Flow Graph: Control Flow. (line 6)
32308 * edge in the flow graph: Edges. (line 6)
32450 * flow-insensitive alias analysis: Alias analysis. (line 6)
32451 * flow-sensitive alias analysis: Alias analysis. (line 6)
34445 Node: Control Flow497935