Hi,

IPA-CP can wreck havoc to transactional memory support as described in
the summary of the PR in bugzilla.  It seems the cause is that IPA-CP
clones of nodes created by trans-mem do not have their tm_clone flag
set.  For release branches we have decided to simply disable IPA-CP of
trans-mem clones but for trunk we'd like to avoid this.  I am not 100%
sure that just copying the flag is OK but it seems that it works for
the provided testcase and nobody from the trans-mem people has
commented in bugzilla for over a month.  So I suggest we commit this
patch and wait and see if something breaks.  Hopefully nothing will.

Bootstrapped and tested on x86_64-linux.  OK for trunk?

Thanks,

Martin


2014-07-29  Martin Jambor  <mjam...@suse.cz>

        PR ipa/61393
        * cgraphclones.c (cgraph_node::create_clone): Also copy tm_clone.

diff --git a/gcc/cgraphclones.c b/gcc/cgraphclones.c
index f097da8..c04b5c8 100644
--- a/gcc/cgraphclones.c
+++ b/gcc/cgraphclones.c
@@ -423,6 +423,7 @@ cgraph_node::create_clone (tree decl, gcov_type gcov_count, 
int freq,
   new_node->count = count;
   new_node->frequency = frequency;
   new_node->tp_first_run = tp_first_run;
+  new_node->tm_clone = tm_clone;
 
   new_node->clone.tree_map = NULL;
   new_node->clone.args_to_skip = args_to_skip;

Reply via email to