Zdenek Dvorak <[EMAIL PROTECTED]> writes: > for project http://gcc.gnu.org/wiki/PreservingLoops, I am considering > introducing a tree LOOP_HEADER with single argument N (number of > iterations of the loop), that would be present in IL at the beginning of > header of each loop. I have following motivations: > > 1) One of the goals of the project is to avoid recomputing number of > iterations of loops, and to keep this information (analysing # of > iterations is fairly expensive, and we recompute this information > quite a lot at the moment). To keep the information valid, we need > to prevent optimizations from destroying it (e.g., if the number > is n_1 = n_2 - 1, and this is the last use of n_1, we do not want > DCE to remove it); this is easy to achieve if n_1 would be the > argument of LOOP_HEADER. Without this tree node in IL, we would need > to handle this specially in DCE, and possibly also other optimizers. > 2) This statement might make it simpler to ensure that various > optimizers update the loops correctly. > > I am not quite sure whether this is a good idea, though. Are there some > reasons why not to do this, or any other problems with the idea?
I haven't seen anyone else say this, but this sounds worryingly like the old RTL loop notes to me. I'm sure the loop notes seemed like a good idea when they were first introduced (probably for similar reasons) but they became such a bug-bear in the end. Not a very constructive comment, I'll be the first to admit. Richard