Lines Matching full:ssa
91 * Tree SSA:: Analysis and optimization of the tree representation.
3073 * Tree-SSA passes:: Optimizations on a high-level representation.
3182 File: gccint.info, Node: Pass manager, Next: Tree-SSA passes, Prev: Gimplification pass, Up: Passes
3211 File: gccint.info, Node: Tree-SSA passes, Next: RTL passes, Prev: Pass manager, Up: Passes
3213 8.4 Tree-SSA passes
3298 SSA rewriting routines. The pass is located in `tree-dfa.c' and
3303 This pass rewrites the function such that it is in SSA form. After
3308 in `tree-ssa.c' and is described by `pass_build_ssa'.
3317 are possibly uninitialized. The pass is located in `tree-ssa.c'
3327 located in `tree-ssa-dce.c' and is described by `pass_dce'.
3334 located in `tree-ssa-dom.c' and is described by `pass_dominator'.
3342 in `tree-ssa.c' and is described by `pass_redundant_phi'.o
3349 `tree-ssa-forwprop.c' and is described by `pass_forwprop'.
3354 involved in copy operations such that SSA->normal can coalesce the
3358 in `tree-ssa-copyrename.c' and is described by `pass_copyrename'.
3364 It is located in `tree-ssa-phiopt.c' and is described by
3369 This pass performs a flow sensitive SSA-based points-to analysis.
3373 into SSA form. We also update the `VDEF'/`VUSE' memory tags for
3375 pass is located in `tree-ssa-alias.c' and is described by
3379 `tree-ssa-structalias.c' and described by `pass_ipa_pta'.
3399 rewritten into SSA form, which allows subsequent optimization
3407 pass is located in `tree-ssa-dse.c' and is described by `pass_dse'.
3417 to it's use point. The pass is located in `tree-ssa-sink.c' and is
3423 performing load motion. The pass is located in `tree-ssa-pre.c'
3429 located in `tree-ssa-math-opts.c' and is described by
3435 occur an all paths. It is located in `tree-ssa-pre.c' and
3440 The main driver of the pass is placed in `tree-ssa-loop.c' and
3451 is implemented in `tree-ssa-loop-im.c'.
3458 pass is implemented in `tree-ssa-loop-ivcanon.c'.
3463 The pass is implemented in `tree-ssa-loop-ivopts.c'.
3468 The pass is implemented in `tree-ssa-loop-unswitch.c'. This pass
3475 `tree-ssa-loop-manip.c', `cfgloop.c', `cfgloopanal.c' and
3507 The pass is located in `tree-ssa-ccp.c' and is described by
3511 register values, is located in `tree-ssa-ccp.c' and described by
3518 code. The pass is located in `tree-ssa-copy.c' and described by
3522 copies, is located in `tree-ssa-copy.c' and described by
3533 branch probabilities nor it uses more than a single range per SSA
3543 located in `tree-ssa-ccp.c' and is described by
3556 `tree-ssa-dce.c' and is described by `pass_cd_dce'.
3596 GENERIC. The pass is located in `tree-outof-ssa.c' and is
3633 loops. The pass is located in `tree-ssa-loop.c' and described by
3649 in `tree-ssa-loop-ivcanon.c' and described by `pass_empty_loop'.
3654 is located in `tree-ssa-loop-ivcanon.c' and described by
3660 loops. The pass is located in `tree-ssa-loop-prefetch.c' and
3667 vectorization. The pass is located in `tree-ssa-reassoc.c' and
3684 File: gccint.info, Node: RTL passes, Prev: Tree-SSA passes, Up: Passes
6257 File: gccint.info, Node: Tree SSA, Next: Loop Analysis and Representation, Prev: Control Flow, Up: Top
6292 * SSA:: Static Single Assignment representation.
6296 File: gccint.info, Node: GENERIC, Next: GIMPLE, Up: Tree SSA
6330 File: gccint.info, Node: GIMPLE, Next: Annotations, Prev: GENERIC, Up: Tree SSA
6998 File: gccint.info, Node: Annotations, Next: Statement Operands, Prev: GIMPLE, Up: Tree SSA
7011 variables (`var_ann_t') and SSA names (`ssa_name_ann_t'). Annotations
7015 File: gccint.info, Node: Statement Operands, Next: SSA, Prev: Annotations, Up: Tree SSA
7118 converted into SSA form. This will be used to link all the non-killing
7133 Operands are collected by `tree-ssa-operands.c'. They are stored
7191 `tree-ssa-operands.h':
7264 documentation in `tree-ssa-operands.h'.
7401 File: gccint.info, Node: SSA, Next: Alias analysis, Prev: Statement Operands, Up: Tree SSA
7407 by the Static Single Assignment (SSA) form. We implement the SSA form
7413 The SSA form is based on the premise that program variables are
7416 actual programs are seldom in SSA form initially because variables tend
7426 process in `tree-ssa.c' wraps every real and virtual operand with an
7449 use at the return statement. So, the SSA renamer creates a new version
7473 10.5.1 Preserving the SSA form
7477 the SSA property. This can happen when a pass has added new symbols or
7480 symbols must be renamed into SSA form again. Transformations that emit
7482 SSA form.
7484 Since GCC implements two different SSA forms for register and virtual
7485 variables, keeping the SSA form up to date depends on whether you are
7487 behind incremental SSA updates is similar: when new SSA names are
7530 nodes is optional. They are not strictly necessary to preserve the SSA
7534 Updating the SSA form is a two step process. First, the pass has to
7536 renamed into SSA form for the first time. When new names are
7542 exposes a new symbol that should be put in SSA form for the first time,
7551 * `TODO_update_ssa'. Update the SSA form inserting PHI nodes
7561 * `TODO_update_ssa_no_phi'. Update the SSA form without
7578 * `TODO_update_ssa_only_virtuals'. Passes that update the SSA
7586 10.5.2 Preserving the virtual SSA form
7589 The virtual SSA form is harder to preserve than the non-virtual SSA form
7596 There is one additional caveat to preserving virtual SSA form. When
7623 -- Tree SSA function: void walk_use_def_chains (VAR, FN, DATA)
7647 -- Tree SSA function: void walk_dominator_tree (WALK_DATA, BB)
7676 File: gccint.info, Node: Alias analysis, Prev: SSA, Up: Tree SSA
7720 This phase walks the use-def chains in the SSA web looking for
7739 renamed into SSA, we lose track of escape properties when a
7885 File: gccint.info, Node: Loop Analysis and Representation, Next: Machine Desc, Prev: Tree SSA, Up: Top
7901 * LCSSA:: Loop-closed SSA form.
8112 loop-closed SSA form is preserved). Only useful on GIMPLE.
8146 11.4 Loop-closed SSA form
8150 enforced on the SSA form: No SSA name is used outside of the loop in
8151 that it is defined. The SSA form satisfying this condition is called
8152 "loop-closed SSA form" - LCSSA. To enforce LCSSA, PHI nodes must be
8153 created at the exits of the loops for the SSA names that are used
8154 outside of them. Only the real operands (not virtual SSA names) are
8167 loop in that the SSA name is defined.
8169 * It makes updating of SSA form during loop transformations simpler.
8172 SSA form can be updated locally. However, since we only keep real
8175 than to use generic SSA form updating for it as well; the amount
8176 of changes to SSA is the same).
8182 `rewrite_into_loop_closed_ssa' is used to rewrite SSA form to LCSSA,
8204 Given an SSA name, its behavior in loops can be analyzed using the
8207 SSA names defined in the loop. To resolve these (potentially
8211 whole nest of loops at once. It will try replacing all SSA names by
8216 on the value of the induction variable. It will only resolve the SSA
8217 names defined in the current loop, leaving the SSA names defined
8222 used for SSA names whose value cannot be expressed. The other one is
11586 File: gccint.info, Node: Control Flow, Next: Tree SSA, Prev: RTL, Up: Top
11777 they may be freely redirected when the flow graph is not in SSA
12017 are enabled and the instruction stream is rewritten in SSA form, the
29902 and for contributing to the tree-ssa branch.
30343 * Diego Novillo for his work on Tree SSA, OpenMP, SPEC performance
32361 * examining SSA_NAMEs: SSA. (line 210)
32874 * Loop-closed SSA form: LCSSA. (line 6)
33160 * Optimization infrastructure for GIMPLE: Tree SSA. (line 6)
33221 * PHI_ARG_DEF: SSA. (line 71)
33222 * PHI_ARG_EDGE: SSA. (line 68)
33223 * PHI_ARG_ELT: SSA. (line 63)
33224 * PHI_NUM_ARGS: SSA. (line 59)
33225 * PHI_RESULT: SSA. (line 56)
33278 * preserving SSA form: SSA. (line 76)
33279 * preserving virtual SSA form: SSA. (line 189)
33652 * SSA: SSA. (line 6)
33653 * SSA_NAME_DEF_STMT: SSA. (line 213)
33654 * SSA_NAME_VERSION: SSA. (line 218)
33703 * static single assignment: SSA. (line 6)
34066 * Tree SSA: Tree SSA. (line 6)
34198 * update_ssa: SSA. (line 76)
34272 * walk_dominator_tree: SSA. (line 248)
34273 * walk_use_def_chains: SSA. (line 224)
34365 Node: Tree-SSA passes135583
34387 Node: Tree SSA270598
34411 Node: SSA312989