Apologies for the previous incomplete reply. Here's the rest of the
comments I had for this patch.
> + @itemize
> + @item @code{flow_loops_dump}: Dumps the information about loops to file.
^^^
a
> + @item @code{verify_loop_structure}: Checks consistency of the loop
structures.
> + @item @code{loop_latch_edge}: Returns the latch edge of a loop.
> + @item @code{loop_preheader_edge}: If loops have preheaders, returns
> + the preheader edge of a loop.
> + @item @code{flow_loop_nested_p}: Tests whether loop is a sub-loop of
other loop.
^^^^^
another
> + @item @code{tree_num_loop_insns}, @code{num_loop_insns}: Estimates
number of
^^^
the
> + insns in the loop, on trees and on RTL.
>
s/trees/GIMPLE/ everwhere.
I would prefer if we start using GIMPLE instead of 'trees'. Otherwise,
it may be hard to tell whether we refer to GIMPLE, GENERIC or FE
trees. I realize that this inconsistency will be with us a long time,
but I think it's important to start making it now as we change the
underlying data structures.
> + @code{get_loop_body_in_bfs_order}: Enumerates the basic blocks in
the loop in
> + dfs order, ordered by dominance relation, and bfs order,
^^^ ^^^
DFS BFS
These acronyms should be expanded on first use.
> + @item In induction variable analysis, it is not necessary to specify the
> + loop with respect to that the behavior of the SSA name is inspected.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I could not parse this.
> + @item It makes updating of SSA form during loop transformations
> + Without LCSSA, operations like loop unrolling may force creation of phi
^^^
PHI
> + Given a SSA name, its behavior in loops can be analyzed using
^
an
> + @code{analyze_scalar_evolution} function. The returned SCEV however
^^^
the
> Before start of the analysis of the induction variables
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> + in a loop, @code{iv_analysis_loop_init} function must be called for
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Before analyzing induction variables in a loop L, the function
@code{iv_analysis_loop_init} must be called on L.
> + @item @code{iv_analyze}: Analyzes a single register used in the
> + If no use of the register in this insn is found, following insns are
^^^
the