> Well, there are passes that can end up duplicating loops and thus you lose > no_vectorize on the copy for example. Clearly that's undesired, no? For > safelen and simduid not copying them is erroring on the safe side at least, > likewise for force_vectorize. But we do have the copy_loop_info abstraction > for a reason. Otherwise we should simply discard it.
That's not very clear, even for dont_vectorize, and I'm a bit uncomfortable special-casing it. For example, copy_loop_info is called for loop unswitching and loop versioning and one can wonder what should happen to loop hints for unswitched and versioned instances of loops. I'll further think about it. -- Eric Botcazou