https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61393

--- Comment #1 from Martin Jambor <jamborm at gcc dot gnu.org> ---
Alexander, as a temporary workaround, you can use -fno-ipa-cp.

The problem (also present in the trunk) seems to be that the tm_clone
flag of cgrapn_node is not copied over to clones (of tm_clones).
Thus, the following patch "fixes" the testcase:

diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index 4387b99..056d82b 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -562,6 +562,7 @@ cgraph_create_virtual_clone (struct cgraph_node *old_node,
   set_new_clone_decl_and_node_flags (new_node);
   new_node->clone.tree_map = tree_map;
   new_node->clone.args_to_skip = args_to_skip;
+  new_node->tm_clone = old_node->tm_clone;

   /* Clones of global symbols or symbols with unique names are unique.  */
   if ((TREE_PUBLIC (old_decl)

However, I do not really know what the semantics of that flag mean so
at least for now I am not going to propose this (I am also not quite
sure this is the best place for the copy).  What properties of a
function should be maintained in order to keep it flagged as a tm
clone?

Reply via email to