Related articles |
---|
Shoud a subset loop with same header be inner ? viren@wipro.wipsys.soft.net (1994-01-20) |
Re: Shoud a subset loop with same header be inner? vick@wotangate.sc.ti.com (1994-01-21) |
Re: Shoud a subset loop with same header be inner ? steven.parker@acadiau.ca (1994-01-21) |
Re: Shoud a subset loop with same header be inner ? cliffc@dawn.cs.rice.edu (1994-01-23) |
Newsgroups: | comp.compilers |
From: | viren@wipro.wipsys.soft.net (Virendra Kumar Mehta) |
Keywords: | optimize, question |
Organization: | Compilers Central |
Date: | Thu, 20 Jan 1994 08:45:01 GMT |
Hi all!
The new dragon book talks about merging loops with the same header if they
are not proper subsets of each other as in
(1)
___
---------->/ \<----------
| \___/ |
| | |
| | |
| _v_ |
| / \ (2) |
| \___/ |
| / \ |
| / \ |
| | | |
| _v_ _v_ |
\____/ \ / \____/
\___/ \___/
(3) (4)
The two loops {1, 2, 3} and {1, 2, 4} are merged together as none is a
inner loop of another. It also talks about loops which are proper subsets
of others, which can be conveniently treated as inner loops. It doesn't
however talk of a loop which is a subset of another, and also shares the
same header as in
(1)
___
---------->/ \<----------
| \___/ |
| | |
| | |
| _v_ |
\__________/ \ (2) |
\___/ |
| |
| |
_v_ |
(3) / \_________/
\___/
This situation will arise, e.g. if there is a 'continue' in a while loop.
My question is, should the loop {1, 2} be treated as an inner loop, nested
in the outer loop {1, 2, 3} or should the two loops be treated as same?
What are the advantages/disadvantages of the two schemes and what kind of
optimizations are affected ?
I doubt if treating {1, 2} as an inner loop will serve much purpose, as we
can't assume that it will execute a higher number of times than the outer
loop.
Regards.
--
Virendra Kr Mehta, e-mail: viren@wipro.wipsys.soft.net
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.