On May 17, 2004, at 18:01 PM, Devang Patel wrote:
On May 17, 2004, at 7:10 AM, Olga Golovanevsky wrote:
I used some static functions from tree-ssa-loop-manip.c and
cfgloopmanip.c, as well the function force_gimple_operand() from
tree-ssa-loop-ivopts.c, so I changed these functions to non-static.
Alternatively it was possible to make this loop transformation
generic, that is a question whether it is worth doing.
If tree_ssa_loop_version () is used then some of the code
duplication can be avoided. But it can be done later.
How would you suggest to use tree_ssa_loop_version () function?
I looked at it before starting implementation also as at
tree-duplicate-loop-to-header-edge () and
duplicate-loop-to-header-edge ().
In my understanding, later two function in general
do the following:
- sequentially concatenate basic blocks of loop
a given number of times
- straiten loop latch edges in order to generate one loop
- update ssa info (phis, names,...) of loop copies