[tree-ssa] 'out_of_ssa_tag' question
Devang Patel
dpatel@apple.com
Wed Dec 31 08:49:00 GMT 2003
I am implementing loop versioning transformation as described
in auto vectorization docs.
[ Provide utilities that allow performing the following transformation:
Given a condition and a loop, create -'if (condition) { loop_copy1 }
else { loop_copy2 }', where loop_copy1 is the loop transformed in one
way, and loop_copy2 is the loop transformed in another way (or
unchanged). 'condition' may be a run time test for things that were not
resolved by static analysis (overlapping ranges (anti-aliasing),
alignment, etc.). ]
In my first cut at implementation, I am not using SSA form.
I do something like this,
rewrite_out_of_ssa (...)
tree_ssa_loop_versioning (...)
rewrite_into_ssa (...)
But rewrite_out_of_ssa(...) does not clear 'out_of_ssa_tag' from var_ann
and it causes final rewrite_out_of_ssa (...) in optimize_function_tree()
to abort.
How do I clear 'out_of_ssa_tag' for all vars?
OR am I taking wrong path by going in and out of SSA form for this loop
transformation? Is it better to take care of SSA vars and phi nodes
while copying loop body ?
Thank you,
--
Devang
More information about the Gcc
mailing list