> On 11/04/11 04:14, Richard Guenther wrote: >>> new_version = cgraph_create_node (new_decl); >>> >>> - new_version->analyzed = true; >>> + new_version->analyzed = old_version->analyzed; >> >> Hm? analyzed means "with body", sure you have a body if you clone.
Incidentally, for TM we also clone functions that do NOT have a body. An external declaration with __attribute__((transaction_callable)) is an assertion by the user that the transactional clone exists (or alternately, a directive from the user to generate such a clone in the file that contains the function). >>> @@ -2294,6 +2294,7 @@ cgraph_copy_node_for_versioning (struct >>> new_version->rtl = old_version->rtl; >>> new_version->reachable = true; >>> new_version->count = old_version->count; >>> + new_version->lowered = true; >> >> OTOH this isn't necessary true. cgraph exists before lowering. But no clones are created before lowering. r~