This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Loop information
Hello,
> Can someone please help me getting the following information?
>
> 1) I would like to obtain the loop bounds (constant case) of all nested
> loops
> of a RTL insn. Is there a data structure over which I can iterate to get
> bounds
> for each nested loop of a RTL insn?
>
> 3) Can I determine if a pseudo register (RTX) is an induction variable
> (linear) or not?
> Which data structure gives me this information?
see loop-iv.c (or a bit improved version of it on killloop-branch).
You can analyze induction variables and determine # of iterations of a
loop using it, which should give you the information you need. But the
rtl level iv analysis is not too powerful, just sufficiently for the
current uses.
> 2) Is there a way of determining sequences as mentioned in the paper
> "Beyond Induction Variables: Detecting and Classifying Sequences Using a
> Demand-Driven SSA From" by Gerlek, Stoltz and Wolfe?
Not on RTL level. On tree level, see tree-scalar-evolutions.c
> 4) At RTL level, array accesses convert to MEM expressions. I was
> wondering
> if I can obtain the source level array name from the MEM expression.
You might be able to extract this information from MEM_EXPR.
Zdenek