Loop depth concept

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Loop depth concept

Wojciech Matyjewicz
Hi,

I'm working on a simple data dependence analysis pass. I think it would
be more natural (in the API and internally) if loops in nests were
numbered from 0 than, as it's currently done, from 1. For example, in
the former case the loop depth could be directly used to index a
direction vector. IMHO it would be more clear in general, not only in
the context of my project. Off course, it's only a cosmetic proposition
and I'm not going to insist on that change.

Currently, there are 2 methods to determine the depth of something:
a) unsigned LoopInfo::getLoopDepth(BlockT *BB);
   // Return the loop nesting level of the specified block.
b) unsigned Loop::getLoopDepth()
   // Return the nesting level of this loop.

The reason why numbering in b) starts from 1 is to be consistent with
numbering in a) (which starts from 0) --- the depth of BB is the same as
the depth of loop it belongs to. But is it really that important?
Currently, b) isn't used anywhere outside the LoopInfo.h.

Starting numbering from 0 in both cases will also be consistent, but in
other way;) "depth" may be defined as the number of loops a BB/loop is
contained in.

What do you think?

Wojtek
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: Loop depth concept

Wojciech Matyjewicz
> Starting numbering from 0 in both cases will also be consistent, but in
> other way;) "depth" may be defined as the number of loops a BB/loop is
> contained in.

Forgot to mention that LoopInto::getLoopDepth(BlockT *B) could be
renamed to 'getBlockDepth'...

Wojtek
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: Loop depth concept

Chris Lattner
In reply to this post by Wojciech Matyjewicz
On Fri, 14 Mar 2008, Wojciech Matyjewicz wrote:
> Starting numbering from 0 in both cases will also be consistent, but in
> other way;) "depth" may be defined as the number of loops a BB/loop is
> contained in.
>
> What do you think?

Starting at 1 is consistent with the idea of treating the body of the
containing function as loop depth 0.  Logically you can consider the
function to be a "loop" which executes once per invocation.

-Chris

--
http://nondot.org/sabre/
http://llvm.org/
_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev