This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Loop information


> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]